Javascript JQuery.prop函数无法取消复选框
我尝试了很多我在这里找到的想法,当一个不同的复选框被选中时,取消选中一个复选框,但没有一个是有效的 现在我有:Javascript JQuery.prop函数无法取消复选框,javascript,jquery,html,jquery-mobile,checkbox,Javascript,Jquery,Html,Jquery Mobile,Checkbox,我尝试了很多我在这里找到的想法,当一个不同的复选框被选中时,取消选中一个复选框,但没有一个是有效的 现在我有: $("#chkBox1").click(function () { if ($(this).is(":checked")) { $('#chkBox2').prop('checked', false); } }); …但没有结果,chkBox2仍处于检查状态 以下是HTML中的复选框: <input type="checkbox" name="art" id="chkBo
$("#chkBox1").click(function () {
if ($(this).is(":checked")) {
$('#chkBox2').prop('checked', false); }
});
…但没有结果,chkBox2仍处于检查状态
以下是HTML中的复选框:
<input type="checkbox" name="art" id="chkBox1" data-mini="true" data-theme="c" />
我的代码中一个可能的区别是,复选框仅在使用href单击按钮时添加到页面中…复选框在HTML中(不是用Javascript创建的)…但在单击按钮之前不可见。这可能是问题的一部分吗?还是我错过了什么?另外,我正在使用JQuery Mobile。您正在检查
此
,并更改chkBox2
:
if ($(this).is(":checked")) {
$('#chkBox2').prop('checked', false); }
请尝试以下方法:
if ($('#chkBox2').is(":checked")) {
$('#chkBox2').prop('checked', false); }
或者简单地说:
$('#chkBox2').prop('checked', false);
您需要在更改其“
.prop
”后使用.checkboxradio('refresh')
刷新它
- 对不起,我应该一直读下去
这似乎起到了作用:
$('#chkBox1').checkboxradio('refresh');
…但我不太清楚为什么,这是JQuery Mobile独有的吗?Html
<input type="checkbox" name="art" id="chkBox1" data-mini="true" data-theme="c" />
<input type="checkbox" name="art2" id="chkBox2" data-mini="true" data-theme="c" checked="checked" />
这里的工作示例在JQM中为复选框使用ID可能是个坏主意(由于JQM中处理页面缓存的方式,在JQM中通常使用ID不是很安全)。很可能没有选择正确的元素。您可以将
$(this).is(“:checked”)
更改为$(this).prop(“checked”)
甚至this.checked
。这会更直接,但不会影响结果。@KevinB哦,是的。。没有注意到是jqm-这实际上是指#chkbox1这应该是对下面答案的评论。。但是是的,如果你看了这些文档,就会发现你需要打电话给refreshps,我看到其他人在同一时间以同样的方式回答了这个问题+这是医生给你的答案为什么有效谢谢,我在你打字的时候就想到了这个答案!这是一款合适的jQuery手机way@Gajotres你还是一个好朋友
<input type="checkbox" name="art" id="chkBox1" data-mini="true" data-theme="c" />
<input type="checkbox" name="art2" id="chkBox2" data-mini="true" data-theme="c" checked="checked" />
(function ($) {
$(document).ready(function () {
$("#chkBox1").click(function () {
if ($(this).is(":checked")) {
$('#chkBox2').prop('checked', false);
}
});
});
})(jQuery);