我在我的代码中有一个选择下拉列表,如下所示。我想在那里保留一些预选的选项。某些预选选项应为FIXED,以便用户无法更改它们。为了做到这一点,我编写了以下代码:
<select
id="select2-multiple"
name="users"
multiple="multiple"
style="width: 50%"
>
<option value = "4">Admin</option>
<option value = "5">Manager</option>
<option disabled="disabled" selected value = "6">User</option>
<option selected value = "7">ReadOnly User</option>
<option disabled="disabled" selected value = "8">Assistant Manager</option>
</select>
<script>
$(document).ready(function() {
$('#select2-multiple').select2();
});
</script>
显示的预选选项没有问题。但是带有disabled="disabled"
的仍然可以从列表中删除。如何防止删除这些选项?
我找到了。我需要使用select2的lock
功能。因此,我要做的就是将问题中的代码更改为此:
<select
id="select2-multiple"
name="users"
multiple="multiple"
style="width: 50%"
>
<option value = "4">Admin</option>
<option value = "5">Manager</option>
<option locked="locked" selected value = "6">User</option>
<option selected value = "7">ReadOnly User</option>
<option locked="locked" selected value = "8">Assistant Manager</option>
</select>
<script>
$(document).ready(function() {
$('#select2-multiple').select2();
});
</script>
因此基本上使用locked
而不是禁用。但是,我最初使用的是select2版本3.2,并且在那里无法正常工作。我必须升级到3.5.4才能使用此功能。