目前,只要您点击添加按钮,我的代码就会克隆3个下拉列表。
我设法让它完全复制行,因为之前,第一个下拉列表会自行重置,但其他两个不会这样,我只是想知道如何重置所有3个下拉列表?
在这个JSFiddle中最容易看到:
因此,如果您将第一个下拉列表更改为agent
,然后点击+,您会看到第二行显示重复,而我希望它重置为tags
,operands
和values
。
非常感谢任何帮助。
答案 0 :(得分:2)
您可以使用removeAttr删除selected
属性,然后触发change()事件。
在你的情况下:
dropdownclone.find('select.tags option:selected').removeAttr('selected');
dropdownclone.find('select.tags option:first').attr('selected','selected');
dropdownclone.find('select.tags').trigger('change');
答案 1 :(得分:1)
如果我理解了您的问题,您希望重复的选择行重置其值。
在这种情况下,你可以删除它:
dropdownclone.find('select').each(function(index, item) {
//set new select to value of old select
$(item).val( $dropdownSelects.eq(index).val() );
});
并将其替换为:
dropdownclone.find('option').attr('selected', false);
答案 2 :(得分:-1)
查找克隆中的所有下拉列表。对于每个下拉列表,请检查所选属性的每个选项标记并将其删除。像这样:
clone.find('select').each(function() {
$(this).find('option').each(function() {
$(this).removeAttr('selected');
});
});
或者更好的是,在删除之前,使用:选择过滤器仅查找选定的选项标记。