按名称选择复选框并检查它是否选中javascript
我试图测试复选框是否被选中。 我有更多的输入,它们有不同的名称。 我设法选择了输入,但我似乎无法检查它是否被选中。如果我添加到条件'=true',则在加载页面后将检查该条件。如果我把它留着,检查一下,它什么都没用按名称选择复选框并检查它是否选中javascript,javascript,select,checkbox,input,Javascript,Select,Checkbox,Input,我试图测试复选框是否被选中。 我有更多的输入,它们有不同的名称。 我设法选择了输入,但我似乎无法检查它是否被选中。如果我添加到条件'=true',则在加载页面后将检查该条件。如果我把它留着,检查一下,它什么都没用 我是否选择了正确的输入?请注意,我想按名称而不是id或类来选择它 为什么页面一旦加载if语句的条件就不起作用了 const firstInput=document.getElementsByName('name1'); 如果(第一次输入[0]。已选中){ console.log('
const firstInput=document.getElementsByName('name1');
如果(第一次输入[0]。已选中){
console.log('checked');
}
您正在选择名为“1”的元素,但没有此名称的元素。
如果要选择名称属性以“名称”开头的所有输入:
您需要向该输入添加属性。附加onclick侦听器并调用 getAttribute 集合属性 操纵“选中”属性
<input type="checkbox" onclick="myFunction()" name="name1">
<input type="checkbox" onclick="myFunction()" name="name2">
<input type="checkbox" onclick="myFunction()" name="name3">
<input type="checkbox" onclick="myFunction()" name="name4">
function myFunction() {
var $element = document.getElementsByName('name1')[0];
var checked = $element.getAttribute('checked') === 'true';
$element.setAttribute('checked', !checked);
console.log($element.getAttribute('checked'));
}
函数myFunction(){
var$element=document.getElementsByName('name1')[0];
var checked=$element.getAttribute('checked')=='true';
$element.setAttribute('checked',!checked);
log($element.getAttribute('checked');
}
您正在寻找一个名为“1”的元素,但您得到了一个名为“name1”的元素。哦,是的,对不起,我的意思是“name1”。一旦我检查了它,控制台应该打印checked,但是你的代码不起作用。您在哪里执行签入函数,在侦听器中?感谢您的建议。我成功地将事件侦听器添加到复选框中。
const firstInput = document.querySelectorAll('[name^=name]')
<input type="checkbox" onclick="myFunction()" name="name1">
<input type="checkbox" onclick="myFunction()" name="name2">
<input type="checkbox" onclick="myFunction()" name="name3">
<input type="checkbox" onclick="myFunction()" name="name4">
function myFunction() {
var $element = document.getElementsByName('name1')[0];
var checked = $element.getAttribute('checked') === 'true';
$element.setAttribute('checked', !checked);
console.log($element.getAttribute('checked'));
}