2013-05-10 185 views
2

我正尝试使用JQM更改复选框状态(选中/取消选中)。Jquery Mobile复选框问题

在HTML部分我有一个复选框,一个按钮清除和一个按钮设置。

在Java脚本的一部分我的代码清除和设置“勾选”使用值按钮

HTML code piece: 
---------------- 
<label><input type="checkbox" name="checkboxName" id="checkboxID">checkbox</label> 
<a href="#" id="clear" data-role="button" data-inline="true" data-theme="b">Clear</a> 
<a href="#" id="set" data-role="button" data-inline="true" data-theme="b">Set</a> 

JS code piece: 
-------------- 
$("#clear").click(function() { 
    $('#checkboxID').filter(':checkbox').prop('checked',false); 
}); 

$("#set").click(function() { 
    $('#checkboxID').filter(':checkbox').prop('checked',true); 
}); 

入住这个例子中的复选框:http://jsfiddle.net/VXwzp/14/

您将通过敲击通知按钮设置或清除它不起作用。

I'm使用谷歌的Chrome版本26.0.1410.64米

我已经注意到了,在我的情况下,从输入删除标记它工作正常,但JQM风格不被考虑。

<input type="checkbox" name="checkboxName" id="checkboxID"> 

入住的例子:http://jsfiddle.net/QLzBX/1/

你有任何想法如何得到它的工作使用JQM?

预先感谢您

阿尔瓦罗

+0

通过使用以下我能够ge它工作:$('#checkboxID')。attr(“checked”,false).checkboxradio(“refresh”); – Alvaro 2013-05-10 17:10:44

回答

5

工作例如:http://jsfiddle.net/Gajotres/VXwzp/15/

$("#clear").click(function() { 
    $('#checkboxID').filter(':checkbox').prop('checked',false).checkboxradio("refresh"); 
}); 

$("#set").click(function() { 
    $('#checkboxID').filter(':checkbox').prop('checked',true).checkboxradio("refresh"); 
}); 

当使用jQuery Mobile的工作,你必须了解它的部件标记如何被改变,以找出看一看在我的其他答案:jQuery Mobile: Markup Enhancement of dynamically added content

+1

非常感谢! :) – Alvaro 2013-05-10 17:13:18