Question

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.

Was it helpful?

Solution

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

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top