如何为Laravel中Select2组件的搜索输入框设置默认值
为Laravel中的Select2搜索输入框设置默认值
以下分两种常见场景给出解决方案:
场景1:默认选中指定分类,自动同步到搜索区域
如果是编辑页面回显已选分类这类需求,只需要在对应<option>标签上添加selected属性即可。
在Blade模板的循环逻辑中,判断当前分类ID是否等于后端传递的默认分类ID(比如$defaultCategoryId),匹配时添加selected:
<select name="category[{{$index}}][category_id]" class="select2 form-control"> <optgroup label="Select Category"> @if($Categories && $Categories->count() > 0) @foreach($Categories as $Category) <option value="{{$Category->id}}" {{ $Category->id == $defaultCategoryId ? 'selected' : '' }}> {{$Category->translation_lang}} {{$Category->name}} </option> @endforeach @endif </optgroup> </select>
初始化Select2后,组件会自动识别选中项,将其文本展示在下拉框上方的显示区域,搜索框默认清空但可正常输入。
场景2:直接为搜索输入框设置默认搜索关键词
如果需要页面加载时,搜索输入框中就有预设的搜索文本(比如默认搜索“English”分类),可通过JavaScript在Select2初始化后设置:
// 初始化Select2组件 $('.select2').select2({ placeholder: "搜索分类..." }); // 设置搜索输入框的默认值并触发搜索 $('.select2-search__field').val('English').trigger('input');
注:.select2-search__field是Select2生成的搜索输入框类名,若版本不同类名有差异,可通过浏览器开发者工具查看确认。
内容的提问来源于stack exchange,提问作者Laravel
相关产品推荐
相关产品推荐

