[英]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.