简体   繁体   中英

jQuery, check if checkbox is checked with the same class

I'm trying to get values of a table with jQuery. Every table row has a checkbox at the begining. How can I copy data of each row, but only if it's checked. All checkboxes and rows has the same class. Now I'm using this code:

var table = $("table");
    var allRows = [];
    table.find('tr').each(function (i, el) {
        if($('input:checkbox:checked').length > 0){
            var $tds = $(this).find('td'),
            name = $tds.eq(2).text(),
            surname = $tds.eq(4).text();
            allRows.push(surname+";"+name+";"+"\n");
        }
    });
    allRows = allRows.join("");

But it's getting all the lines. How can I do this only for lines which are checked?

As of now you are checking any checkbox is checked. the condition needs to be changed.

You need to check the :checked state of the chechbox in current row while iterating.

if($(this).find(':checkbox:checked').length > 0){
   //your existing code
} 

$('.theClass:checkbox:checked') will give you all the checked checkboxes with the class theClass . See also Get all checked checkboxes

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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