重置/取消选择选择选项
用法:
我有一个具有选择下拉列表的表单,该下拉列表由另一个选择下拉列表控制。 在加载页面时(如果之前选择的值,PHP加载它们)选择下拉列表#2隐藏了几个选项(这是有效的)。 使用选择下拉列表#1选择特定选项时,选择下拉列表#2隐藏选项变为可用(.show(),这样可行)。
问题:(概述问题的一个例子: http : //jsfiddle.net/RqhbY/7/ )
当显示/可用隐藏选项并选择一个时,然后选择下拉列表#1更改隐藏选项的下拉列表#2中的值,在提交时,将提交所选隐藏值。
如何取消选择/重置现在隐藏的选定选项?
尝试改变:
$('select[name=two[0]] option').attr('selected', false);
有:
$('select[name=two[0]] option').removeAttr('selected');
UPDATE
好的,我在IE 8中测试了上面的代码,仍然选择了禁用的 。 但这似乎有效:
$('select[name=two[0]]').children('option').removeAttr('selected').filter(':nth-child(1)').attr('selected', true);
演示: http : //jsfiddle.net/RqhbY/9/
请注意,您可能希望更新.filter()
调用以仅选择非禁用选项,但我会留给您。
UPDATE
如果在元素上调用
.attr('selectedIndex', -1)
,则无法
。 下拉列表不会显示值,但会显示为空白。
演示: http : //jsfiddle.net/RqhbY/10/