我正在尝试学习Laravel CRUD,但我似乎找不到一个好的答案来解决如何在进行更新/编辑时为下拉菜单选择默认值。

通过这个value="{{ $kanban->title }}",我能够获得正确的项目名称
<input type="text" name="title" placeholder="project name" value="{{ $kanban->title }}" class="border-2 rounded px-2 py-1 focus:outline-none">然而,当我对期权做类似的事情时,它不起作用。
<select name="color" id="icon_color" class="border-2 rounded pl-2 pr-10 py-1 focus:outline-none" value="{{ $kanban->color }}" class="form-control">我知道你可以选择selected来选择默认值,但在编辑时,如果默认选择的是用户最初选择的值,这将是很有帮助的。
这就像完整的代码,如果任何人能链接到一些文档,可以解释这是如何工作的,也将非常感谢。
<select name="color" id="icon_color" class="border-2 rounded pl-2 pr-10 py-1 focus:outline-none" value="{{ $kanban->color }}" class="form-control">
<option value="text-blue-500 bg-blue-300">Blue</option>
<option value="text-red-500 bg-red-300">Red</option>
<option value="text-green-500 bg-green-300">Green</option>
<option value="text-yellow-500 bg-yellow-300">Yellow</option>
<option value="text-gray-500 bg-gray-300">Gray</option>
</select>发布于 2021-03-05 13:40:39
select标记没有value属性。可以在mdn上找到select标记支持的属性。因此,无论您是否设置了value属性,它都不会对options进行任何更改。必须在option元素上使用selected属性才能指定默认选项。
<select name="color" id="icon_color" class="border-2 rounded pl-2 pr-10 py-1 focus:outline-none" class="form-control">
<option value="text-blue-500 bg-blue-300" @if ($kanban->color == 'text-blue-500 bg-blue-300') selected @endif>Blue</option>
<option value="text-red-500 bg-red-300" @if ($kanban->color == 'text-red-500 bg-red-300') selected @endif>Red</option>
<option value="text-green-500 bg-green-300" @if ($kanban->color == 'text-green-500 bg-green-300') selected @endif>Green</option>
<option value="text-yellow-500 bg-yellow-300" @if ($kanban->color == 'text-yellow-500 bg-yellow-300') selected @endif>Yellow</option>
<option value="text-gray-500 bg-gray-300" @if ($kanban->color == 'text-gray-500 bg-gray-300') selected @endif>Gray</option>
</select>发布于 2021-03-05 13:19:55
说明是FormCollectivewith laravel。这使您可以轻松地在刀片式服务器模板中编码。
$data = [
'text-blue-500 bg-blue-300' => Blue,
'text-red-500 bg-red-300' => Red,
'text-green-500 bg-green-300' => Green,
'text-yellow-500 bg-yellow-300' => Yellow,
'text-gray-500 bg-gray-300' => Gray,
];
//$defaultValue = value from db if update else default value
{!! Form::select('size', $data , $defaultValue)!!}你可以找到更多的https://laravelcollective.com/docs/6.x/html#drop-down-lists
https://stackoverflow.com/questions/66486839
复制相似问题