开发者

Get Checked Checkbox values

开发者 https://www.devze.com 2023-03-07 13:17 出处:网络
I have table with check boxes in it.and the CSS for the check box is GridCheckBox, I want to read the check boxes tool tip into an array with , separated.

I have table with check boxes in it.and the CSS for the check box is GridCheckBox, I want to read the check boxes tool tip into an array with , separated.

I am using this function. But this not getting the checked items. but getting the unchecked items correctly.

This works well

var titles = [];
$('#ListGrid .GridCheckBox').each(function() {
    if ($(this).attr('title')) {
        titles.push($(this)开发者_开发技巧.attr('title'));
    }
});

And this not working(Checked items)

var titles = [];
$('#ListGrid .GridCheckBox:checked').each(function() {
    if ($(this).attr('title')) {
        titles.push($(this).attr('title'));
    }
});


Well another way to do it is to use jQuery $.map() in this example i grab all selectboxes by name. For example:

var titles = $.map($("input[name='name_of_checkboxes']:checked"),function(a){return a.title;});

Shuld return a array with selected - selectbox titles.

EDIT

To get none selected selectboxes you culd use this

  var not_selected = $.map($("input[name='name_of_checkboxes']:not(:checked)"),function(a){return a.title;});

HTML:

<input type="checkbox" name="name_of_checkboxes" checked="checked" title="1" />
<input type="checkbox" name="name_of_checkboxes" title="2" />
<input type="checkbox" name="name_of_checkboxes" checked="checked" title="3" />
<input type="checkbox" name="name_of_checkboxes" title="4"/>

Over n out


Of cos it doesn't work. The class ".GridCheckBox" u applied on is on the parent "span" and not the "checkbox input" itself!

you can do this though:

$('#ListGrid .GridCheckBox').each(function() {
var target = $(this);
if (target.find("input:checkbox").is(":checked")) {
    titles.push(target.attr('title'));
}});

assuming one span.GridCheckBox contains only one checkbox input.


To try to eliminate any mistakes, and also to aid performance, try this instead:

$('#ListGrid .GridCheckBox').filter(':checked').each( ..

Because :checked is a jQuery extension it doesn't perform as well as the native browser methods for matching objects.

0

精彩评论

暂无评论...
验证码 换一张
取 消