繁体   English   中英

选择禁用属性设置为“禁用”的情况下,仍允许在Chrome上选择选项

[英]Select with disabled attribute set as “disabled” still allows options to be selected on Chrome

我正在使用Zend Framework 2开发应用程序,并且正在使用两个选择框。 第一个填充了数据库中的数据,第二个填充了空白。

在单击按钮以将所选选项从第一个“选择”传递到第二个 (通过Javascript)后,我将第一个选择的“ disabled” 属性设置为“ disabled”,以便无法选择其他选项,因此将其传递给第二个选择。

  //Whithin javascript function  
  var s = document.getElementById('firstSelect');
  s.setAttribute("disabled","disabled");

一切在IE,Firefox和Safari上都可以正常运行(将一个选项从第一个选择传递到另一个后,第一个选择被禁用并变灰,您根本无法选择更多选项。)但在Chrome上则不能

与所有其他浏览器一样,第一个选择显示为灰色,但仍允许用户选择另一个选项并将其传递给另一个选择框。 发生这种情况后,便无法再选择其他选项,并且其行为与所有其他浏览器一样。

任何想法为什么会发生这种情况?

实际上,chrome是正确的。 您正在基于ID( getElementById )选择。 这些在您的DOM树中必须是唯一的。 因此,如果您有多个具有相同ID的元素,则Google只会选择一个。

现在,您有两个选择:-扩展代码以通过getElementsByClassname加载元素,尽管IIRC尚未很好地支持它,或使用getElementsByTagname 这将返回一个数组,您可以随后遍历该数组并相应地设置属性-进入jQuery(或任何其他框架),并让该框架为您解决这个问题(大多数框架都具有针对这些情况的适当功能;))

成功..

PS:元素可以有相同 “name”属性,这是不一样的“ 身份证

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM