diff --git a/src/FormBuilder.php b/src/FormBuilder.php index 3cfc6458..c701de9c 100644 --- a/src/FormBuilder.php +++ b/src/FormBuilder.php @@ -572,7 +572,7 @@ protected function setQuickTextAreaSize($options) * * @param string $name * @param array $list - * @param string $selected + * @param string|bool $selected * @param array $selectAttributes * @param array $optionsAttributes * @param array $optgroupsAttributes @@ -787,7 +787,9 @@ protected function getSelectedValue($value, $selected) } elseif ($selected instanceof Collection) { return $selected->contains($value) ? 'selected' : null; } - + if (is_int($value) && is_bool($selected)) { + return (bool)$value === $selected; + } return ((string) $value === (string) $selected) ? 'selected' : null; } diff --git a/tests/FormBuilderTest.php b/tests/FormBuilderTest.php index 47ff1b92..dc98c81e 100644 --- a/tests/FormBuilderTest.php +++ b/tests/FormBuilderTest.php @@ -464,6 +464,12 @@ public function testSelect() '', $result ); + + $select = $this->formBuilder->select('avc', [1 => 'Yes', 0 => 'No'], true, ['placeholder' => 'Select']); + $this->assertEquals( + '', + $select + ); } public function testSelectCollection()