jQuery克隆选择列表删除选中

时间:2014-11-11 15:38:00

标签: javascript jquery

我有一个按钮,每次用户点击它时都会在页面上克隆一个元素。它正在复制一个选择列表,供他们选择另一个选项。

然而,它克隆了整个元素,包括所选的选项,所以附加的所有新元素都有一个我不想要的默认值。

 globalLocales = $("<div />").append($('[name=localeID]:first').clone()).html();
 $('select').select2();

我有没有办法在克隆过程中删除所选的选项,以便它不会转移到新元素?

我尝试在附加内容中使用.removeProp('selected')以及.prop('selected',false);,但这对我不起作用

2 个答案:

答案 0 :(得分:4)

解决问题的一种方法是选择一个不存在的值:

$("<div />").append($('[name=localeID]:first').clone().val(-1)).html();

或者您可以找到所选的选项并删除selected属性:

$("<div />").append($('[name=localeID]:first').clone()
                    .find(':selected').removeAttr('selected').end()).html();

但这有点笨拙。

答案 1 :(得分:2)

您可以使用此代码删除所选属性。

$('[name=localeID] option:selected').removeAttr('selected');