我正在创建用于复制html元素的插件,我对<select>
有疑问。
将新元素附加到容器后,我无法更改<select>
值。当我试图点击它时总是选择第一个值。当我通过浏览器控制台手动删除"selected="selected"
时,它开始工作。但不知何故,我无法通过JavaScript删除它。
我试过了:
objElement.find('select').each(function(){
var objThs = $(this);
//option 1
objThs.val([]);
//option 2
objThs[0].selectedIndex = -1
//option 3
objThs.prop('selectedIndex', -1);
//option 4
objThs.find('[selected]').prop('selected', false);
});
但没有任何改变。
当然,如果我控制日志objThs.find('[selected]').length
它返回1。
答案 0 :(得分:0)
必须至少选择一个选择选项(或显示相反)。为什么不将第一个<option>
添加为虚拟选项并默认为?
<select>
<option>Please choose one</option>
<option>...</option>
</select>
答案 1 :(得分:0)
好的,我找到了解决方案:
objThs.find('option').removeAttr('selected')
工作正常。但我仍然不知道为什么其他选择失败了?