2017-05-31 15 views
0

チェックボックスがオンになっているかどうかをテストしようとしています。 私はより多くの入力があり、それらは異なる名前を持っています。 入力を選択することができましたが、選択されているかどうかを確認できないようです。 '= true'という条件に追加すると、ページをロードするとチェックされます。私はそれをちょうどチェックしても何もしません。名前でチェックボックスを選択し、javascriptにチェックが入っていることを確認します

  1. 私は入力権を選択しましたか? IDまたはクラスではなく名前で選択したいのですが、

  2. if文が動作しないのはなぜですか?


<input type="checkbox" name="name1"> 
<input type="checkbox" name="name2"> 
<input type="checkbox" name="name3"> 
<input type="checkbox" name="name4"> 


const firstInput = document.getElementsByName('name1'); 
if (firstInput[0].checked) { 
    console.log('checked'); 
} 
+0

"1"という名前の要素を探していますが、名前が "name1"の要素があります。 –

+0

ああ、申し訳ありませんが、私は 'name1'を意味しました。一度私はそれをチェックしたコンソールがチェックされているが、それを確認しないでください –

+0

あなたのコードが動作します。リスナーで、そのチェックインはどこで実行しますか? –

答えて

0

は、名前 "1" を持つ要素を選択しているが、このような名前を持つ要素を持っている `tを。 name属性が「名前」で始まるすべての入力を選択する場合:

const firstInput = document.querySelectorAll('[name^=name]') 
0

をあなたはその入力に属性を追加する必要があります。 onclickのリスナーを取り付け、操作する

のgetAttribute のsetAttribute

が属性を '確認' を呼び出します。

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

この度はありがとうございます。 –

+0

イベントリスナーをチェックボックスに追加して管理しました。 –

関連する問題