2017-02-13 12 views
0

3つのチェックボックスが異なるID、チェックボックス1、チェックボックス2、チェックボックス3を持っています。 checkbox1 & checkbox2がチェックされている場合、チェックボックス3を自動的にチェックする方法を教えてください。チェックボックスもう2つのチェックボックスが既にチェックされているときに自動的にチェックされます

HTML

<input type="checkbox" class="check" id="checkbox1"> 
<input type="checkbox" class="check" id="checkbox2"> 
<input type="checkbox" class="check" id="checkbox3"> 

jqueryの

私はこれがうまくいくかもしれないと思う
var x = $("#checkbox1").is(':checked'); 
var y = $("#checkbox2").is(':checked'); 
if(x && y) { 
document.getElementById("checkbox3").is(':checked');} 
else {document.getElementById("checkbox3").checked = false; 
} 
+0

C1とC2にバインドした 'change'イベントと両方がチェックされている場合はハンドラでチェックし、そうであればC3をチェックします。 – Tushar

+0

イベントC1&C2のバインドチェックの例を挙げることができますか? @Tushar – satriyoz

+0

[Demo](https://jsfiddle.net/tusharj/1d689rpn/) – Tushar

答えて

0

、コードを確認してください:D

var y = $("#checkbox2").is('checked');

する必要があります:あなたが行うことができます

var y = $("#checkbox2").is(':checked');

<script> 
$(document).ready(function() { 
    $('.check').on('change',function() { 
     var x = $("#checkbox1").is(':checked'); 
     var y = $("#checkbox2").is(':checked'); 
     $('#checkbox3').prop('checked',(x && y)); 
    }); 
}); 
</script> 

希望このヘルプ^^

+0

笑、私はちょうどそのポストで間違って書くことを確信しているが、私のコードではそれが正しいとは... とにかく、それは魅力的なように働いています:) ちょうどメモの@Tusharからの回答も正しいです。 – satriyoz

+0

チェックボックスの場合、私は一般的に 'change'ではなく' click'イベントを使うことをお勧めします。なぜなら古いブラウザでは、キーボードでチェックボックスを "クリック"すれば、 'change'イベントはタブで取り除かれるまでトリガされないからです。クリックイベントは(キーボードからでも)すぐにトリガされます。 – nnnnnn

+0

笑、あなたは歓迎です&幸運^^ –

0

、私は100%確実ではないけど、ここではまず

var x = $("#checkbox1").is(':checked'); 
var y = $("#checkbox2").is('checked'); 
var z = $("#checkbox3").is('checked'); 
if(x && y && z) { 
document.getElementById("checkbox3").is(':checked');} 
else {document.getElementById("checkbox3").checked = false; 
} 
+1

* 'document.getElementById(" checkbox3 ")。( ':checked')' * - これは動作しません。 DOM要素には '.is()'メソッドがありません。いずれの場合でも、 'if'ブロック内のその行は何もしません。 – nnnnnn

関連する問題