select2 multiselect:禁用某些选定的选项

问题描述 投票:0回答:1

我在我的代码中有一个选择下拉列表,如下所示。我想在那里保留一些预选的选项。某些预选选项应为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"的仍然可以从列表中删除。如何防止删除这些选项?

javascript jquery jquery-select2 multi-select
1个回答
0
投票

我找到了。我需要使用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才能使用此功能。

© www.soinside.com 2019 - 2024. All rights reserved.