如何从HTML表中的多个单元格获取复选框

how to get checkbox from multiple cells in html table?

本文关键字:单元格 获取 复选框 HTML      更新时间:2023-09-26

我有动态html表格,每个单元格都有一个复选框。如果用户从不同行的多个复选框中进行选择,我想获取选中的复选框。

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();
         }

为什么此函数只返回循环中最后一行的最后选定复选框????我需要所有行的"所有选定"复选框!!!!!!

假设你正在使用jQuery。

然后你可以简单地做——

$("#myTableId input:checked")

如果您的复选框有特定的类,那么您也可以执行 -

$("#myTableId .specificCheckboxClass:checked")

在某些按钮单击尝试执行此代码

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

var 将返回选中的复选框的所有 ID

谢谢我解决了这个问题:

           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();
         }
var table = document.getElementById("mytable");
checkbox = table.getElementsByTagName("input"); 
for(var indexCheckbox = 1; indexCheckbox<checkbox.length; indexCheckbox++){
    if(checkbox[indexCheckbox].checked){
        //do something
    }   
}