如何禁用在 Chosen 中删除选定的选项?
How to disable removing selected option in Chosen?
我想阻止用户删除我选择的下拉列表中的预选选项(多个)。
<select data-placeholder="Your Favorite Types of Bear" multiple class="chosen-select" tabindex="8">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option selected>Sloth Bear</option>
<option selected>Sun Bear</option>
<option selected>Polar Bear</option>
<option selected>Spectacled Bear</option>
</select>
所以我要选择懒熊、马来熊、北极熊和眼镜熊,用户不能将其删除。我该怎么做?
据我所知,没有完美的方法。但作为一种解决方法,您可以尝试禁用您想要阻止的选项,这样它们就无法修改它们的可见性。
您可以试试下面的代码:
<select data-placeholder="Your Favorite Types of Bear" multiple class="chosen-select" tabindex="8">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option disabled>Sloth Bear</option>
<option disabled>Sun Bear</option>
<option disabled>Polar Bear</option>
<option disabled>Spectacled Bear</option>
</select>
我认为没有正式的方法可以做到这一点。
但是让我给你一个想法。
像这样定义您的 select
项。
<select data-placeholder="Your Favorite Types of Bear" multiple class="my_select_box" tabindex="8">
<option value=""></option>
<option value="1">American Black Bear</option>
<option value="2">Asiatic Black Bear</option>
<option value="3">Brown Bear</option>
<option value="4">Giant Panda</option>
<option value="5" disabled selected>Sloth Bear</option>
<option value="6" disabled selected>Sun Bear</option>
<option value="7" disabled selected>Polar Bear</option>
<option value="8" disabled selected>Spectacled Bear</option>
</select>
所以我才会这样,
因此,现在用户无法删除所选选项。
但是当您检索所选值时,请确保您正在像这样添加所选值。
var selected = $(".my_select_box").val();
var alreadySelected = ['5', '6', '7', '8']
var totalSelected = selected.concat(alreadySelected);
现在,准备好了!你可以玩一下。
我想阻止用户删除我选择的下拉列表中的预选选项(多个)。
<select data-placeholder="Your Favorite Types of Bear" multiple class="chosen-select" tabindex="8">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option selected>Sloth Bear</option>
<option selected>Sun Bear</option>
<option selected>Polar Bear</option>
<option selected>Spectacled Bear</option>
</select>
所以我要选择懒熊、马来熊、北极熊和眼镜熊,用户不能将其删除。我该怎么做?
据我所知,没有完美的方法。但作为一种解决方法,您可以尝试禁用您想要阻止的选项,这样它们就无法修改它们的可见性。
您可以试试下面的代码:
<select data-placeholder="Your Favorite Types of Bear" multiple class="chosen-select" tabindex="8">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option disabled>Sloth Bear</option>
<option disabled>Sun Bear</option>
<option disabled>Polar Bear</option>
<option disabled>Spectacled Bear</option>
</select>
我认为没有正式的方法可以做到这一点。
但是让我给你一个想法。
像这样定义您的 select
项。
<select data-placeholder="Your Favorite Types of Bear" multiple class="my_select_box" tabindex="8">
<option value=""></option>
<option value="1">American Black Bear</option>
<option value="2">Asiatic Black Bear</option>
<option value="3">Brown Bear</option>
<option value="4">Giant Panda</option>
<option value="5" disabled selected>Sloth Bear</option>
<option value="6" disabled selected>Sun Bear</option>
<option value="7" disabled selected>Polar Bear</option>
<option value="8" disabled selected>Spectacled Bear</option>
</select>
所以我才会这样,
因此,现在用户无法删除所选选项。
但是当您检索所选值时,请确保您正在像这样添加所选值。
var selected = $(".my_select_box").val();
var alreadySelected = ['5', '6', '7', '8']
var totalSelected = selected.concat(alreadySelected);
现在,准备好了!你可以玩一下。