当我选中其他复选框时,我尝试了许多我在此处找到的想法取消选中复选框,但没有一个正在运行...
我现在有了:
$("#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中创建)..但是直到a单击按钮..这可能是问题的一部分吗?还是我错过了别的什么?另外,我正在使用JQuery Mobile。
答案 0 :(得分:12)
使用.prop
更改“.checkboxradio('refresh')
后,您需要刷新它。
// Check #chkBox2 by default
$('#chkBox2').prop('checked', true).checkboxradio('refresh')
// Uncheck #chkBox2 when #chkBox1 is checked
$('#chkBox1').on('click', function () {
if ($(this).is(':checked')) {
$('#chkBox2').prop('checked', false).checkboxradio('refresh');
}
});
答案 1 :(得分:1)
这似乎可以解决问题:
$('#chkBox1').checkboxradio('refresh');
..但我不确定为什么,这是JQuery Mobile独有的东西吗?
答案 2 :(得分:0)
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" />
jQuery的:
(function ($) {
$(document).ready(function () {
$("#chkBox1").click(function () {
if ($(this).is(":checked")) {
$('#chkBox2').prop('checked', false);
}
});
});
})(jQuery);
答案 3 :(得分:-1)
您正在检查this
,并正在更改chkBox2
:
if ($(this).is(":checked")) {
$('#chkBox2').prop('checked', false); }
请改为尝试:
if ($('#chkBox2').is(":checked")) {
$('#chkBox2').prop('checked', false); }
或者简单地说:
$('#chkBox2').prop('checked', false);