2013-03-08 43 views
1

我有一個移動客戶端,並有一個簡單的問題。jQuery和Javascript更改複選框的選中屬性?

這裏是我的html部分:

<label id="112233" for="checkbox-detailed_limit">Take Profit</label> 
<input type="checkbox" name="checkbox-detailed_limit" 
id="checkbox-detailed_limit" data-mini="true"/> 

我想改變複選框的選中狀態,當顯示容器頁面。

我已經使用javascript和jquery進行這個動作,但都失敗了。

下面是一些例子:

$("#checkbox-detailed_limit").attr("checked", false).change(); 
$("#checkbox-detailed_limit").attr("checked", false).trigger("change"); 
$("#checkbox-detailed_limit").prop("checked", false); 
$("#checkbox-detailed_limit").removeAttr("checked"); 
$('input:checkbox', $("#112233")).prop("checked", false); 
$("#112233").filter(':checkbox').prop("checked", false); 
$('input').filter(':checkbox').prop('checked',false); 
$("#112233").children('input[type="checkbox"]').prop('checked', false); 
$("#112233").find("checkbox").attr("checked", false); 
document.getElementById("checkbox-detailed_limit").checked = false; 

有什麼辦法幫助我嗎?

+1

[的jsfiddle](http://jsfiddle.net/fHr2N/1/)。 – Eich 2013-03-08 10:09:10

+1

已經有這麼多問題了,你怎麼沒有發現這個問題呢? – 2013-03-08 10:09:44

+0

此外,大多數*示例實際上都有效。你有沒有嘗試把'false'改成**'true' **? – Richard 2013-03-08 10:12:54

回答

0

我不確定你真正想要什麼,但是你想將檢查狀態設置爲複選框?那麼這可以像這樣完成。

$("#checkbox-detailed_limit").prop("checked", true); //for jquery 1.7+ 

$("#checkbox-detailed_limit").attr("checked", true); //for jquery < 1.7 
0

要選中該複選框:

$("#"+id).attr("checked", "checked"); 

取消選中該複選框:

$("#"+id).removeAttr("checked"); 
0

試試這個,

$("#checkbox-detailed_limit").prop("checked", true); 
    $("#checkbox-detailed_limit").prop("checked", false); 
0
$('input[name=foo]').attr('checked', !$('input[name=foo]').is(':checked')); 

該腳本將切換複選框,並應該工作絕對好。如果這不起作用,你的JavaScript代碼在其他地方出現錯誤。使用控制檯將幫助您找到問題所在。