admin管理员组

文章数量:1426790

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.

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.

Share Improve this question edited Mar 7, 2010 at 2:04 Justin Johnson 31.3k7 gold badges66 silver badges89 bronze badges asked Mar 7, 2010 at 1:51 AlexAlex 1,5782 gold badges11 silver badges15 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 5

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

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.

本文标签: javascriptjQuery Selectorchecked and class begins withStack Overflow