views:

160

answers:

2

I need to get the value of the first checkbox which is checked and who's class name begins with 'rqc', eg. rqc205

I have tried this: requestID=$('#requestsTable').find('input[class^='rqc']:checked').val();

but it yields nothing, whereas requestID=$('#requestsTable').find('input:checked').val(); works but does not limit to the class.

+1  A: 

Perhaps:

requestID = $('#requestsTable').find('input[class^="rqc"]').filter(':checked').val();

This is, currently un-checked/un-verified. I think it should work, but I'm still new to jQuery, so I'll post the possibility, check it and then amend if necessary.


Much to my surprise, that works.

But it's worth pointing out, I think, that it might be easier to get the value using jQuery's click() event.

$(document).ready(
    function() {
        $('input[class^="rqc"]').click(
            function() {
                var requestID = $(this).val();
            }
        );

    }
);

Though obviously that depends on what exactly you're doing, and why.

David Thomas
You have a syntax error
Justin Johnson
I know, I corrected that while I edited.
David Thomas
+2  A: 

You have a syntax error. Either fix your quotes around the attribute value, or remove them altogether (they don't seem to be required).

requestID = $('#requestsTable').find("input[class^='rqc']:checked").val();

or

requestID = $('#requestsTable').find("input[class^=rqc]:checked").val();
Justin Johnson
This solved the problem
Alex