简体   繁体   English

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

[英]how to get checkbox from multiple cells in html table?

I have dynamic html table and every cell have one checkbox. 我有动态html表,每个单元格都有一个复选框。 I want to get the selected checkbox if the user select from multiple checkbox from different row. 如果用户从不同行中选择多个复选框,我想获取所选复选框。

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

why why this function return just last selected checkbox for last row in loop???? 为什么这个函数为循环中的最后一行返回最后一个选中的复选框? i need the all selected checkbox for all rows!!!!!!! 我需要所有行的所有选中复选框!!!!!!!

Assuming you are using jQuery. 假设您正在使用jQuery。

Then you can simply do - 然后你可以简单地做 -

$("#myTableId input:checked")

If your checkbox have specific class then you can also do - 如果您的复选框有特定的类,那么您也可以 -

$("#myTableId .specificCheckboxClass:checked")

On some Button click try to execute this code 在某些按钮上单击尝试执行此代码

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

var will return all id of check boxes which are selected var将返回所选复选框的所有id

thanks all i solve the problem: 谢谢所有我解决问题:

           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
    }   
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM