用法:
我有一个具有选择下拉列表的表单,该下拉列表由另一个选择下拉列表控制.在加载页面时(如果之前选择了值,则PHP会加载它们)选择下拉菜单2隐藏了几个选项(这可行).使用选择下拉菜单#1选择特定选项时,选择下拉菜单#2隐藏的选项变为可用(.show(),此方法有效).
当隐藏选项显示/可用并被选中时,然后选择下拉列表#1会更改该值,该值将隐藏下拉列表2中的选项,在提交时,将提交所选的隐藏值.
如何取消选择/重置已隐藏的所选选项?
解决方法:
尝试更改:
$('select[name=two[0]] option').attr('selected', false);
有:
$('select[name=two[0]] option').removeAttr('selected');
UPDATE
好的,我在IE 8中测试了上面的代码,并禁用了< option>仍处于选中状态.但是,这似乎可行:
$('select[name=two[0]]').children('option').removeAttr('selected').filter(':nth-child(1)').attr('selected', true);
请注意,您可能希望将.filter()调用更新为仅选择非禁用选项,但我将留给您.
UPDATE
如果您在< select>上调用.attr(‘selectedIndex’,-1)元素,则无法选择< option>.下拉菜单将不显示值,而是空白.
标签:php,jquery,select,reset,options
来源: https://codeday.me/bug/20191013/1906634.html