检查 JQuery 移动复选框是否被选中

2024-03-25

我有一个复选框列表,我想获取每个复选框的状态。 名单在这里:

<div data-role="fieldcontain">
    <fieldset data-role="controlgroup">
       <input type="checkbox" name="Sunday" id="Sunday-1" class="custom" />
       <label for="Sunday-1">Sunday</label>
       <input type="checkbox" name="Monday" id="Monday-1" class="custom" />
       <label for="Monday-1">Monday</label>
       <input type="checkbox" name="Tuesday" id="Tuesday-1" class="custom" />
       <label for="Tuesday-1">Tuesday</label>
  </fieldset>
</div>

我通常使用以下引用检查复选框的状态:

var isChecked = $('#CheckboxID').is(':checked');

但就我现在的情况而言,有没有一种方法可以一次性获取“Jquery Mobile”复选框的状态?


你可以做

var status = $('input[type="checkbox"]').filter('.custom').map(function(){
    return $(this).is(':checked') ? 1 : 0;

});

然后status array每个复选框都会以相同的顺序有一个条目,0对于未经检查的和1用于检查。它没有多大用处,因为数组中没有该复选框的其他信息。

如果你想基于以下进行操作status您可以使用.each()相反,就像

$('input[type="checkbox"]').filter('.custom').each(function(){
   if($(this).is(':checked')){
     // perform operation for checked
   }
   else{
     // perform operation for unchecked
   }

});

UPDATE

如果你想建立一个array of objectsname and status您可以使用的复选框

var status = $('input[type="checkbox"]').filter('.custom').map(function(){
    var name = $(this).attr('name'); 
    if($(this).is(':checked'))
         return { 'name':name, 'status' : 'Checked'}; 
    else
        return { 'name':name, 'status' : 'UnChecked'};

});

console.log(status);​

Demo: http://jsfiddle.net/joycse06/rL3Ze/ http://jsfiddle.net/joycse06/rL3Ze/

阅读更多内容.each() http://api.jquery.com/each and .map() http://api.jquery.com/map

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查 JQuery 移动复选框是否被选中 的相关文章

随机推荐