从 select2 列表中删除旧的选定值
Remove old selected value from select2 list
我有一个 select 禁用了其中一个选项(它 disables/enables 动态地当用户点击另一个表单字段时,添加 jquery 的“禁用”属性) :
<select style="width:50%;" name="custom">
<option value="0" disabled>ND</option>
<option value="1">Alex Burn</option>
<option value="2">Tom Johnes</option>
<option value="3">Serhio Aguero</option>
<option value="4">Eugeny Petrosyan</option>
<option value="5">Mark Twen</option>
<option value="6">Jack Sparrow</option>
<option value="7">Luci Night</option>
<option value="8">Silvia Rodger</option>
<option value="9">Marko Roys</option>
<option value="10">Voldemar Fermer</option>
</select>
出于某种原因,我必须将此 select 的第一个选项设为 selected,并且我无法修改这部分代码:
$("[name='custom']").select2();
$("[name='custom']").val($("[name='custom'] option:first").val());
$("[name='custom']").select2("val", $("[name='custom'] option:first").val());
我不想在我的 select2 列表中看到禁用的选项,我使用一些 css 来隐藏它:
.select2-results__option[aria-disabled="true"] {
display: none;
}
它隐藏在 select2 列表中,但是...仍然显示为 selected 值。我怎样才能避免将它显示为 selected 值?
这里是fiddlehttps://jsfiddle.net/y1tsh8ka/4/
试试这个
$("[name='custom']").select2();
$("[name='custom']").val($("[name='custom'] option:first").val());
$("[name='custom']").select2("val", $("[name='custom'] option:not([disabled]):first").val());
它不选择第一个值,而是选择第一个未禁用的值
我有一个 select 禁用了其中一个选项(它 disables/enables 动态地当用户点击另一个表单字段时,添加 jquery 的“禁用”属性) :
<select style="width:50%;" name="custom">
<option value="0" disabled>ND</option>
<option value="1">Alex Burn</option>
<option value="2">Tom Johnes</option>
<option value="3">Serhio Aguero</option>
<option value="4">Eugeny Petrosyan</option>
<option value="5">Mark Twen</option>
<option value="6">Jack Sparrow</option>
<option value="7">Luci Night</option>
<option value="8">Silvia Rodger</option>
<option value="9">Marko Roys</option>
<option value="10">Voldemar Fermer</option>
</select>
出于某种原因,我必须将此 select 的第一个选项设为 selected,并且我无法修改这部分代码:
$("[name='custom']").select2();
$("[name='custom']").val($("[name='custom'] option:first").val());
$("[name='custom']").select2("val", $("[name='custom'] option:first").val());
我不想在我的 select2 列表中看到禁用的选项,我使用一些 css 来隐藏它:
.select2-results__option[aria-disabled="true"] {
display: none;
}
它隐藏在 select2 列表中,但是...仍然显示为 selected 值。我怎样才能避免将它显示为 selected 值?
这里是fiddlehttps://jsfiddle.net/y1tsh8ka/4/
试试这个
$("[name='custom']").select2();
$("[name='custom']").val($("[name='custom'] option:first").val());
$("[name='custom']").select2("val", $("[name='custom'] option:not([disabled]):first").val());
它不选择第一个值,而是选择第一个未禁用的值