0

いくつかの理由により、グリッドにチェックボックスを動的に作成します。

また、同じグリッドにボタンを動的に作成します。

この特定のボタンをクリックして、チェックボックスがオンになっているかどうかを確認する必要があります。

チェックボックスがオンになっている場合は、チェックを外す必要があります。その逆も同様です。

javascriptでこれを達成することは可能ですか?

4

2 に答える 2

3

はい、可能です。

document.querySelector("button").addEventListener("click",function(){
    [].forEach.call(document.querySelectorAll('input[type="checkbox"]'),function(el){
        el.checked = !el.checked   //Invert
    });​
}, false);

idチェックボックスが動的に作成されるかどうかに関係なく、このコードはまたはを必要としないため、引き続き機能しますclass

IE の場合:

document.getElementsByTagName("button")[0].addEventListener("click", function(){
    var ele = document.getElementsByTagName("input");
    for(var i=0;i<ele.length;i++){
        if(ele[i].type == "checkbox"){
            el.checked = !el.checked   //Invert
        }
    }
});

究極のjQueryソリューション!

$("button").click(function(){
    $("input[type=checkbox]").each(function(){
        this.checked = !this.checked;
    }
});

ライブデモ: http://jsfiddle.net/DerekL/jfeAd/

于 2012-06-07T02:15:08.730 に答える
0

特定のコンテキスト内でチェックボックスを収集し(グリッド内の一部のcontianer)、チェックされたプロパティを現在のプロパティとは逆に設定できます。

var grid = <something that returns a reference to the grid>
var cb, cbs = grid.getElementsByTagName('input');

for (var i=0, iLen=cbs.length; i<iLen; i++) {
  cb = cbs[i];
  if (cb.type == 'checkbox') {
    cb.checked = !cb.checked;
  }
}
于 2012-06-07T03:15:49.247 に答える