重置/取消选择选择选项

时间:2011-12-13 21:54:02

标签: php jquery select options reset

用法:

我的表单有一个选择下拉列表,由另一个选择下拉列表控制。在加载页面时(如果之前选择的值,PHP加载它们)选择下拉列表#2隐藏了几个选项(这是有效的)。使用选择下拉列表#1选择特定选项时,选择下拉列表#2隐藏选项变为可用(.show(),这样可行)。

问题:(概述问题的示例:http://jsfiddle.net/RqhbY/7/

当隐藏选项显示/可用且选择了一个时,然后选择下拉列表#1更改隐藏选项的下拉列表#2中的值,在提交时,将提交所选的隐藏值。

如何取消选择/重置现在隐藏的选定选项?

1 个答案:

答案 0 :(得分:4)

http://jsfiddle.net/RqhbY/8/

尝试更改:

$('select[name=two[0]] option').attr('selected', false);

使用:

$('select[name=two[0]] option').removeAttr('selected');

<强>更新

好的,我在IE 8中测试了上面的代码,并且仍然选择了禁用的<option>。但这似乎有效:

$('select[name=two[0]]').children('option').removeAttr('selected').filter(':nth-child(1)').attr('selected', true);

演示:http://jsfiddle.net/RqhbY/9/

请注意,您可能希望将.filter()来电更新为仅选择非禁用选项,但我会留给您。

<强>更新

如果您在.attr('selectedIndex', -1)元素上致电<select>,则无法选择<option>。下拉列表不会显示值,而是显示为空白。

演示:http://jsfiddle.net/RqhbY/10/