【发布时间】:2022-09-30 21:48:01
【问题描述】:
所以,我有这个 HTML 代码:
<input type=\"checkbox\" id=\"orders_lives_in_ccs\" name=\"orders[lives_in_ccs]\" class=\"lives_in_ccs\">
<select id=\"orders_shipping_from\" name=\"orders[shipping_from]\" required=\"required\" class=\"shipping_from toSelect2\">
<option value=\"\" selected=\"selected\">-- SELECCIONAR --</option>
<option value=\"MRW\">MRW - COBRO EN DESTINO</option>
<option value=\"DOMESA\">DOMESA - COBRO EN DESTINO</option>
<option value=\"ZOOM\">GRUPO ZOOM - COBRO EN DESTINO</option>
</select>
我需要删除该选项 MRW当复选框 .lives_in_ccs已检查,因此我制作了此代码:
$(function () {
$(\'.toSelect2\').select2();
var detachedMember;
$(\'.lives_in_ccs\').click(function () {
if (this.checked) {
detachedMember = $(\'.shipping_from option[value=\"MRW\"]\').detach();
} else {
$(\'.shipping_from option[value=\"\"]\').after(detachedMember);
}
$(\".secure_shipping\").toggle(this.checked);
});
});
此代码有效,但我遇到问题并且没有找到修复它的方法。让this jsFiddle 做这个测试:
- 将 SELECT 保留为默认值
--SELECCIONAR--并在左侧标记检查,这将起作用并将从主 SELECT 中删除选项MRW,如果取消标记检查,则该值将再次出现在 SELECT - 在 SELECT 上选择
MRW(第一个选项)并在左侧标记检查,这将从主 SELECT 中删除选项MRW,但会将选项保留为 SELECTED,因为服务器是错误的方没想到。
那么,即使在 SELECT 元素上选择了该选项,我如何删除它?有什么帮助吗?
-
也许如果在您单击复选框时选择了 MRW,请将选择的值重置为
--SELECCIONAR--。我认为 Select2 中有一种方法可以让您更改所选值。我想是val,但不记得了。
标签: javascript jquery jquery-select2