diff --git a/resources/views/fields/select.blade.php b/resources/views/fields/select.blade.php index f1e41c215..9fabff367 100644 --- a/resources/views/fields/select.blade.php +++ b/resources/views/fields/select.blade.php @@ -12,7 +12,7 @@ @isset($value) @if (is_array($value) && in_array($key, $value)) selected @elseif (isset($value[$key]) && $value[$key] == $option) selected - @elseif (!$isOptionList && $key == $value) selected + @elseif (is_string($value) && $key == $value) selected @endif @endisset >{{$option}} diff --git a/tests/Unit/Screen/Fields/SelectTest.php b/tests/Unit/Screen/Fields/SelectTest.php index 61cbd8a86..ec90a133e 100644 --- a/tests/Unit/Screen/Fields/SelectTest.php +++ b/tests/Unit/Screen/Fields/SelectTest.php @@ -78,6 +78,21 @@ public function testSetValue(): void $this->assertStringContainsString('value="second" selected', $view); } + public function testSetIndicesValue(): void + { + $select = Select::make('Indices') + ->value('1') + ->options([ + '0' => 'First Value', + '1' => 'Second Value', + '2' => 'Third Value' + ]); + + $view = self::minifyRenderField($select); + + $this->assertStringContainsString('value="1" selected', $view); + } + public function testAutoFocus(): void { $select = Select::make('about')