我正在使用here,因为它已选择所有选项。我试图在创建帖子时选中已选中的选定项目。
这就是我所做的,但它不起作用。
{{ Form::label('tags', 'Tags:') }}
<select name="tags[]" multiple="multiple" id="tags">
@foreach($tags as $tag)
<option value="{{$tag->id}}">{{$tag->name}}</option>
@endforeach
</select>
<script>
$("#tags").multipleSelect({
placeholder: "Tags please"
});
$('#tags').multipleSelect().val({!!json_encode($post->tags()->getRelatedIds() )!!}).trigger('change');
</script>
如果有人能帮助我,我会很沮丧。
答案 0 :(得分:0)
在一天结束时,它只是一个HTML选择元素。鉴于tags[]
的名称,这将在表单中提交,并可通过控制器$request->get('tags')
访问,或者如果使用帮助程序,则request()->get('tags');
此外,您可以通过以下方式将所选项目传递到下一页:
public function myFunctionToHandleTheForm()
{
$tags = App\Tag::all(); //for example, no idea what you use
$selectedTags = request()->get('tags');
return view('my.view', compact('selectedTags', 'tags');
}
现在,$tags
将是一个数字排序的数组(升序),其中包含从您的表单提交的ID's
。您可以设置如下所示的默认值:
{{ Form::label('tags', 'Tags:') }}
<select name="tags[]" multiple="multiple" id="tags">
@foreach($tags as $tag)
<option value="{{$tag->id}}" {{ in_array($tag->id, $selectedTags) ? 'selected="selected"' : null }}>{{$tag->name}}</option>
@endforeach
</select>
在上文中,我们会检查标记ID是否在selected tag id's
列表中,如果是,我们会设置selected
属性。您的插件会理解这一点并正确翻译。