在Jquery即兴中,Checkbox值未更新

时间:2014-04-01 11:05:23

标签: jquery checkbox

我有一个复选框列表,在jquery即兴中有一些测试框。在保存更新的值时,我可以看到文本框的updatd数据,但不能查看复选框。

这是代码。请检查并指导我。

更新复选框值的代码:

$("input[type='checkbox']").each(function(){
    if($(this).attr('checked')!=undefined){
        f.completion=true;
    }else{
        f.completion=false;
    }
});

3 个答案:

答案 0 :(得分:0)

你应该引用undefined:

$("input[type='checkbox']").each(function(){
    if($(this).attr('checked')!="undefined"){
        f.completion=true;
    }else{
        f.completion=false;
    }
});

或者更好地使用这样:

if($(this).attr('checked')!=true){

或者就像这样:

if($(this).attr('checked')){

甚至更好地使用这样:

    if(this.checked!=true){

您也可以使用prop()方法代替attr()方法。

答案 1 :(得分:0)

使用prop()之类的,

$("input[type='checkbox']").each(function(){
    if($(this).prop('checked')){
        f.completion=true;
    }else{
        f.completion=false;
    }
});

答案 2 :(得分:0)

使用.prop('checked')语句中的if代替.attr('checked')并检查truefalse,另请参阅以下我总是使用的代码段动态生成的复选框。

// check all and unchecked all functions for a group of checkboxes 
$(".group1Checkbox").click(function () {
"use strict";
$('.group1Checkbox').prop('checked', true).checkboxradio('refresh');
$('.group1Checkbox').prop('checked', false).checkboxradio('refresh');
});