2014-04-01 20 views
0

我有一個複選框的列表與jQuery中的一些測試框即興即興。在保存更新的值時,我可以看到文本框的更新數據,但不能用於複選框。複選框值沒有得到更新jQuery中的即興

這是代碼。請檢查並引導我。

代碼更新複選框值:

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

提供您的HTML嗎? –

+0

只需使用'this.checked',它會給你複選框是否被選中。 – Satpal

+0

每當我取消選中我的複選框時,該值不會傳遞給我的彈簧控制器。 –

回答

0

使用prop()一樣,

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

你應該引用到未定義:

$("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){ 

您也可以使用道具()方法,而不是ATTR()方法。

+0

爲什麼不'this.checked'? – Satpal

+0

是的,但也只有在jquery中標記 –

0

使用您if語句而不是.attr('checked').prop('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'); 
});