2

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?

1
  • Do you have jsfiddle of this? Commented May 6, 2017 at 12:34

2 Answers 2

9

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

Sign up to request clarification or add additional context in comments.

Comments

3

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
} 

1 Comment

Great. Working as I need. Thank you!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.