JQuery .prop函数无法取消选中框

时间:2013-03-29 15:39:18

标签: 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="chkBox1" data-mini="true" data-theme="c" />

我的代码中的一个可能的区别是复选框仅在单击按钮时添加到页面,使用href ...复选框在HTML中(不是在Javascript中创建)..但是直到a单击按钮..这可能是问题的一部分吗?还是我错过了别的什么?另外,我正在使用JQuery Mobile。

4 个答案:

答案 0 :(得分:12)

使用.prop更改“.checkboxradio('refresh')后,您需要刷新它。

  

Demo

// 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);

此处的工作示例http://jsfiddle.net/SwmN6/75/

答案 3 :(得分:-1)

您正在检查this,并正在更改chkBox2

if ($(this).is(":checked")) {
     $('#chkBox2').prop('checked', false); }

请改为尝试:

if ($('#chkBox2').is(":checked")) {
     $('#chkBox2').prop('checked', false); }

或者简单地说:

$('#chkBox2').prop('checked', false);