我有一个Laravel编辑表单,它使用Select2 jQuery扩展,其中包含从数据库表中提取的选项。
以下是我所指的表单选择字段:
<select id="ship_to" name="ship_to" class="js-example-basic-single2 form-control">
@foreach($cCustomers as $customer)
<option value="{{$customer->id}}"
@if ($shipment->ship_to == $customer->id) selected="selected"
@endif
>{{$customer->customer_name}}</option>
@endforeach
</select>
现在,所有内容都弹出正常,选项就在那里,选择框已经转换为Select2格式。我的问题是,当我从数据库中提取数据时,如果特定列为空,则select2拉出第一个选项,而不是允许的空选择(是的,我选择了一个占位符),清除select2框就可以了。
所以我的问题就是这样:
如果我有一个记录,其中select字段为NULL,如何在我的select2框中将null值和占位符自动打开,而不是第一个选项?
当前输出:
<select id="ship_to" name="ship_to" class="js-example-basic-single2 form-control select2-hidden-accessible" data-select2-id="ship_to" tabindex="-1" aria-hidden="true">
<option></option>
<option value="164" data-select2-id="387">4G ENTERPRISES</option>
<option value="192">4G ENTERPRISES</option>
<option value="81">5280 PACKAGING</option>
答案 0 :(得分:2)
来自docs。确保在select2选项中设置占位符:
$('#ship_to').select2({
placeholder: "Please select a customer"
});
在<select>
中添加一个空选项(位于@foreach($cCustomers as $customer)
:
<option></option>
答案 1 :(得分:1)
您可以在foreach之前添加一个null值的选项。
<option value=""></option>
在foreach
之前添加以上行