Jac*_*cob 4 javascript radio-button
我在我的radioGroup中创建了一个元素,如下所示:
var selectorLay1 = document.createElement('input');
var selectorLay1Atributes = {
'type': 'radio',
'class': "selectorLay1",
'id': "radioLay1",
'name': "layouts",
'onchange': "mv.createLayout(1,1)"};
Run Code Online (Sandbox Code Playgroud)
我有这样的不同元素.但它们都有相同的名字:'layouts'.如何查找所有这些元素并动态禁用它们.
Roh*_*mar 10
试试这个:
var radios = document.getElementsByName('layouts');
for (var i = 0, r=radios, l=r.length; i < l; i++){
r[i].disabled = true;
}
Run Code Online (Sandbox Code Playgroud)
阅读https://developer.mozilla.org/en-US/docs/DOM/document.getElementsByName为getElementsByName
我建议:
var inputs = document.getElementsByName('layouts');
for (var i = 0, len = inputs.length; i<len; i++){
inputs[i].disabled = true;
}
Run Code Online (Sandbox Code Playgroud)
这将选择相关的元素用name的layouts,然后,在for {...}循环中,遍历这些元素并设置disabled属性.
使用简单的函数方法:
function disableByName(elName){
var els = document.getElementsByName(elName);
if (els !== null){
for (var i = 0, len = els.length; i<len; i++){
els[i].disabled = true;
}
}
}
var button = document.getElementById('radioDisable');
button.addEventListener('click',function(e){
e.preventDefault();
disableByName('layouts');
}, false);
Run Code Online (Sandbox Code Playgroud)
或者,如果您愿意,可以扩展Object原型以允许您直接禁用document.getElementsByName()选择器返回的元素:
Object.prototype.disable = function(){
var that = this;
for (var i = 0, len = that.length; i<len; i++){
that[i].disabled = true;
}
return that;
};
document.getElementsByName('layouts').disable();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15235 次 |
| 最近记录: |