Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery多次选择禁用/启用选项_Jquery_Html - Fatal编程技术网

jquery多次选择禁用/启用选项

jquery多次选择禁用/启用选项,jquery,html,Jquery,Html,我有三个相同的下拉菜单,有三个选项 每个选项只能在一个菜单中选择一次,然后应在所有其他选定菜单中禁用选定选项 再次选择空选项后,我在启用选项时遇到问题。但是,将$this.attr放置为“disabled”,;在变革中,事件似乎确实起了作用 如何做到这一点 $'.e1'.changefunction{ var value=$this.find'option:selected'。文本; 如果值!={ $'myselects.find'option:not:selected.eachfunctio

我有三个相同的下拉菜单,有三个选项

每个选项只能在一个菜单中选择一次,然后应在所有其他选定菜单中禁用选定选项

再次选择空选项后,我在启用选项时遇到问题。但是,将$this.attr放置为“disabled”,;在变革中,事件似乎确实起了作用

如何做到这一点

$'.e1'.changefunction{ var value=$this.find'option:selected'。文本; 如果值!={ $'myselects.find'option:not:selected.eachfunction{ 如果$this.text==值{ $this.attr'disabled'、'disabled'; } }; } } 阿拉巴马州 阿马拉普拉姆 阿纳卡帕利 尝试使用$this.prop'disabled',true;

从jQuery1.6开始,.attr方法为尚未设置的属性返回undefined。要检索和更改DOM属性,例如表单元素的选中、选中或禁用状态,请使用.prop方法。


试试$this.removeAttr'disabled'

问题在于条件和选择器。这应该是您要求的新闻运行:

$'.e1'.changefunction{ var selectedVal=$this.val; $'p'.textLast selected:+selectedVal 如果选择Val!== $'myselects.find'select>选项:not:type.eachfunction的第一个{ 如果$this.val==selectedVal $this.prop'disabled',true; }; 其他的 $'myselects'。查找'select>option'。每个函数{ $this.prop'disabled',false; }; } 阿拉巴马州 阿马拉普拉姆 阿纳卡帕利 阿拉巴马州 阿马拉普拉姆 阿纳卡帕利 阿纳纳
你可能想看看这个$Puff'Buffic,false方法,如果我能正确地回忆,是禁用/启用元素时使用的首选方法。谢谢,这有一个bug。我在选择后选择空白选项,仍然可以选择两个相同的选项。both@user2382789你好,我从您的问题中理解的行为是空白选项将取消所有选择中的所有选项,但是,既然您提到它是一个bug,我认为您可能只想重新启用从当前选择中禁用的选项,并将其他选择中禁用的所有其他选项留下。这更为复杂,需要一个包含所有当前选定选项的数组,还需要在关注特定选择时检测当前状态。但是,如果是这样的行为,您可能根本不需要空白选项。在所有选项结束时,用户不应该能够多次选择同一选项