[英]Check if a JQuery mobile checkbox is checked
I have a list of Checkboxes & I want to get the status of each one of them. 我有一个复选框列表,我想获得每个复选框的状态。 The List is here :
清单在这里:
<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>
I usually Check the checkbox's status using this quote: 我通常使用此引号检查复选框的状态:
var isChecked = $('#CheckboxID').is(':checked');
But in my case now, is there a method to get the status of "Jquery Mobile" checkboxes all at once ? 但在我的情况下,是否有一种方法可以立即获取“Jquery Mobile”复选框的状态?
You can do 你可以做
var status = $('input[type="checkbox"]').filter('.custom').map(function(){
return $(this).is(':checked') ? 1 : 0;
});
Then the status array
will have an entry for each checkbox in the same order, 0
for unchecked and 1
for checked. 然后
status array
将以相同的顺序为每个复选框提供一个条目, 0
表示未选中, 1
表示已选中。 It's not much of useful as you have no other information of the checkbox in the array. 它没有多大用处,因为你没有关于数组中复选框的其他信息。
If you want to perform operation based on the status
you can use .each()
instead, like 如果你想根据
status
执行操作,可以使用.each()
代替
$('input[type="checkbox"]').filter('.custom').each(function(){
if($(this).is(':checked')){
// perform operation for checked
}
else{
// perform operation for unchecked
}
});
UPDATE UPDATE
If you want to build an array of objects
with the name and status
of the checkboxes you can do that with 如果要构建具有复选框
name and status
的array of objects
可以使用
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/
I have this code. 我有这个代码。 I think you should adjust to your case.
我认为你应该适应你的情况。
$('#formfriends input[type=checkbox]').each(function() {
if ($(this).attr('checked'))
//$(this).attr('disabled' , true);
// do what you want here
});
you can use jQuery each function http://api.jquery.com/jQuery.each/ 你可以使用jQuery的每个函数http://api.jquery.com/jQuery.each/
.each function will help you to traverse through your checkboxes .each函数将帮助您遍历复选框
for jQm 1.3 i had to check for the class on the label in the wrapper div 对于jQm 1.3,我必须检查包装器div中标签上的类
samplecode (already rendered by jQm): samplecode(已由jQm呈现):
<div class="ui-checkbox">
<label data-corners="true" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-icon="checkbox-off" data-theme="a" data-mini="false" class="ui-checkbox-off ui-btn ui-btn-corner-all ui-fullsize ui-btn-icon-left ui-btn-up-a">
<span class="ui-btn-inner">
<span class="ui-btn-text">
myLabel
</span>
<span class="ui-icon ui-icon-checkbox-off ui-icon-shadow"> </span>
</span>
</label>
<input type="checkbox" name="flip-num" class="flip-num">
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.