我正在使用Zend Framework 2开发一个应用程序,我正在使用两个选择框。 第一个是来自数据库的数据,第二个是空的。
点击按钮将所选选项从首先选择传递到第二个(通过Javascript)后,我设置已停用的属性在第一个选择“禁用”,以便不能选择任何其他选项,因此传递给第二个选择。
//Whithin javascript function
var s = document.getElementById('firstSelect');
s.setAttribute("disabled","disabled");
在IE,Firefox和Safari上一切正常(将第一个选项中的一个选项传递到另一个选项后,第一个选项被禁用并且灰显,你根本无法选择更多选项。)但不在Chrome上。
第一个选择与所有其他浏览器一样灰显,但仍然允许用户选择另一个选项并将其传递给另一个选择框。发生这种情况后,不能再选择任何选项,它的行为就像所有其他浏览器一样。
为什么会这样?
答案 0 :(得分:0)
实际上,铬是正确的。您正在根据ID( getElementById )进行选择。这些必须在您的DOM树中是唯一的。因此,如果您有多个具有相同ID的元素,则Google会选择一个。
您现在有两个选择: - 扩展你的代码以通过 getElementsByClassname 加载元素,尽管IIRC还没有很好地支持它,或者使用 getElementsByTagname 。这将返回一个数组,您随后可以循环并相应地设置属性 - 进入jQuery(或任何其他框架)并让框架为您解决此问题(大多数框架都具有针对这些类型的情况的功能;)
Succsess ..
ps:元素 CAN 具有相同的“名称”属性,这与“ id ”
不同