jQuery和Javascript更改复选框'已检查属性?

时间:2013-03-08 10:05:34

标签: javascript jquery jquery-mobile checkbox

我有一个移动客户端并且有一个简单的问题。

这是我的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;

有什么办法可以帮助我吗?

5 个答案:

答案 0 :(得分:2)

这实际上是一个jquery-mobile问题,因为这些复选框会得到增强。

$("#checkbox-detailed_limit").attr("checked",true).checkboxradio("refresh");

来源:http://jquerymobile.com/demos/1.2.0/docs/forms/checkboxes/methods.html

答案 1 :(得分:0)

我不确定你真正想要什么,但是你想将选中状态设置为复选框?那么这可以这样做。

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

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

答案 2 :(得分:0)

选中复选框:

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

取消选中复选框:

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

答案 3 :(得分:0)

试试这个,

   $("#checkbox-detailed_limit").prop("checked", true);
   $("#checkbox-detailed_limit").prop("checked", false);

答案 4 :(得分:0)

$('input[name=foo]').attr('checked', !$('input[name=foo]').is(':checked')); 

此脚本将切换复选框,应该可以正常工作。如果这不起作用,则在其他地方的javascript代码中会出现错误。使用控制台可以帮助您找到问题。