IE9 显示所选项目,即使选择=“”
IE9 displaying selected items even when selected=""
我有一系列下拉列表,允许用户从相同的可用选项列表中选择多个项目。
每个下拉列表都包含相同的基本列表,但如果选择了某个项目,则该选项将不会显示在其他列表中。页面加载时选中了其中一个或多个。
可以删除下拉列表。发生这种情况时,所选选项将添加到其他列表中,以便其可用。
我已经编写了jQuery代码来删除下拉列表,从该选项中删除"selected = 'selected'"值,获取先前选择的值,并将其添加到其他列表中。除了IE9之外,一切正常 - 它挂在"选定"位上并重置所有下拉列表以将先前删除的项目作为选定选项。
$(".removestccode").click(function () {
var $ddl = $(this).parents(".stcCodeLi").find("#ddlSTCCode");
$ddl = $(this).prev();
var $liPrev = $ddl.find("option:selected").removeAttr("selected");
alert($liPrev[0].outerHTML);
var ddls = $('.ddlSTCCode').not($ddl);
for (var i = 0; i < ddls.length; i++) {
var d = ddls[i];
$(d).append($liPrev[0].outerHTML);
//$(d).find("option").tsort();
}
if ($("#ulSTCCodes li").length > 1) {
$(this).parents(".stcCodeLi").remove();
}
return false;
});
这里有一个小提琴:https://jsfiddle.net/wicker95/g2mdqg4v/
警报用于演示追加到其他列表的值。
我知道有几个id在标签上被多次使用,因为......原因。
任何帮助,不胜感激。
一位同事提出了这个修改,它有效:
$(d).append($liPrev[0].outerHTML.replace('selected=""', ''));
在上下文中:
$(".removestccode").click(function () {
var $ddl = $(this).parents(".stcCodeLi").find(".ddlSTCCode");
$ddl = $(this).prev();
var $liPrev = $ddl.find("option:selected").removeAttr("selected");
var ddls = $('.ddlSTCCode').not($ddl);
for (var i = 0; i < ddls.length; i++) {
var d = ddls[i];
$(d).append($liPrev[0].outerHTML.replace('selected=""', ''));
//$(d).append($liPrev[0].outerHTML);
//$(d).find("option").tsort();
}
if ($("#ulSTCCodes li").length > 1) {
$(this).parents(".stcCodeLi").remove();
}
return false;
});
在 jsfiddle JS 代码的第 4 行试试这个:
var $liPrev = $ddl.find("option:selected").prop("selected", false);
.prop()
是您需要设置的内容,而不是.removeAttr()
您还可以执行.attr('selected', null)
以删除属性
相关文章:
- 根据用户从下拉列表中的选择显示多个文本框
- 根据页面加载时的单选按钮选择显示某些字段
- 根据组合框选择显示特定数据
- 从项目列表Jquery中仅选择(显示:块)元素
- 根据用户复选框选择显示或隐藏下拉框
- 根据以前的选择显示选择选项
- 如何选择显示值而不是value选项
- 根据asp.net中下拉框中的选择显示文本框
- 根据单选按钮的选择显示HTML表单
- 缩小后的大图像上的Jcrop圆形选择显示预览选择区域中的全尺寸图像
- 按数字选择显示输入
- 基于下拉选择显示/隐藏控件mvc 4 razor c#
- 角度选择显示名称和项目
- 获取值并根据用户在 Javascript 上的选择显示
- 根据选择显示表格/表单
- 根据下拉选择显示文本
- 为什么选择显示显示值而不是标签
- 多个文本字段,根据单选选择显示/隐藏(Html,JS)
- 基于多个单选按钮选择显示或隐藏元素
- 根据在选择框中所做的选择显示文本