Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按名称选择复选框并检查它是否选中javascript_Javascript_Select_Checkbox_Input - Fatal编程技术网

按名称选择复选框并检查它是否选中javascript

按名称选择复选框并检查它是否选中javascript,javascript,select,checkbox,input,Javascript,Select,Checkbox,Input,我试图测试复选框是否被选中。 我有更多的输入,它们有不同的名称。 我设法选择了输入,但我似乎无法检查它是否被选中。如果我添加到条件'=true',则在加载页面后将检查该条件。如果我把它留着,检查一下,它什么都没用 我是否选择了正确的输入?请注意,我想按名称而不是id或类来选择它 为什么页面一旦加载if语句的条件就不起作用了 const firstInput=document.getElementsByName('name1'); 如果(第一次输入[0]。已选中){ console.log('

我试图测试复选框是否被选中。 我有更多的输入,它们有不同的名称。 我设法选择了输入,但我似乎无法检查它是否被选中。如果我添加到条件'=true',则在加载页面后将检查该条件。如果我把它留着,检查一下,它什么都没用

  • 我是否选择了正确的输入?请注意,我想按名称而不是id或类来选择它

  • 为什么页面一旦加载if语句的条件就不起作用了


  • 
    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'));
    }