0

動的なhtmlテーブルがあり、すべてのセルに1つのチェックボックスがあります。ユーザーが別の行の複数のチェックボックスから選択した場合、選択したチェックボックスを取得したい。

function GetAllChecked() {
             var chkedshid = new Array();
             var rows = new Array();
             rows = document.getElementById("Tbl_Id").getElementsByTagName("tr");
             trcount = rows.length;

             for (var i = 0; i < rows.length; i++) {
                 trid = rows[i].id;
                 chkedshid = chkedshid + chkedshid
                 if (inputList = document.getElementById(trid).getElementsByTagName("input")) {
                     for (var n = 0; n < inputList.length; n++) {
                         if (inputList[n].type == "checkbox") {
                             if (inputList[n].checked == true) {
                                 chkedshid[n] = inputList[n].id;

                             }
                         }
                     }
                 }
  }
             document.getElementById('Hidden_CellSelected').value = chkedshid.join();
             document.getElementById("BtnSav2Cart").click();
         }

この関数がループの最後の行で最後に選択されたチェックボックスを返すのはなぜですか???? すべての行にすべて選択されたチェックボックスが必要です!!!!!!!!

4

4 に答える 4

2

jQueryを使用していると仮定します。

次に、簡単に行うことができます-

$("#myTableId input:checked")

チェックボックスに特定のクラスがある場合は、次のこともできます-

$("#myTableId .specificCheckboxClass:checked")
于 2012-05-24T12:04:01.787 に答える
0

いくつかのボタンクリックで、このコードを実行してみてください

var checkedTransactions = $("input:[name=' idofcheckboxe ']:checked").map(function () { return $(this).val(); }).get();

var は、選択されているチェック ボックスのすべての ID を返します。

于 2012-05-24T12:08:31.667 に答える
0
var table = document.getElementById("mytable");
checkbox = table.getElementsByTagName("input"); 

for(var indexCheckbox = 1; indexCheckbox<checkbox.length; indexCheckbox++){
    if(checkbox[indexCheckbox].checked){

        //do something
    }   
}
于 2016-01-13T20:54:21.987 に答える
0

すべてのおかげで私は問題を解決します:

           function GetAllChecked() {
             var chkedshid = new Array();
             var rows = new Array();
             rows = document.getElementById("Tbl_Id").getElementsByTagName("tr");
             trcount = rows.length;

                  var totlchk = new Array();    
             for (var i = 0; i < rows.length; i++) {
                 trid = rows[i].id;


                 if (inputList = document.getElementById(trid).getElementsByTagName("input")) {
                     for (var n = 0; n < inputList.length; n++) {
                         if (inputList[n].type == "checkbox") {
                             if (inputList[n].checked == true) {
                                 chkedshid[n] = inputList[n].id;
                             }
                         }
                     }
                     totlchk = totlchk.concat(chkedshid.join());
                 }

             }

             document.getElementById('myHiddenfield').value = totlchk.join();
             document.getElementById("BtnSav2Cart").click();
         }
于 2012-05-26T11:48:51.627 に答える