为什么我无法取消选中JQuery Mobile中的复选框?

时间:2013-05-16 05:15:19

标签: jquery-mobile checkbox

这似乎有一个非常明显的答案,但是一旦我添加Jquery Mobile,我就无法通过JQuery取消选中一个简单的复选框。

以下是一些非常简单的代码:

<html>
<head>
    <title>Untitled</title>

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>

<script>

    jQuery(function () {

        jQuery('#a').change(function () {

            if (jQuery(this).is(':checked')) {
                jQuery('#b').removeAttr('checked');
            }

        });

        jQuery('#b').change(function () {

            if (jQuery(this).is(':checked')) {
                jQuery('#a').removeAttr('checked');


            }

        });

    });

</script>
</head>

<body>

<input type="checkbox" id="a"><label for="a">AAAA</label>

<input type="checkbox" id="b"><label for="b">BBBB</label>

</body>
</html>

这是一段简单的代码。选中复选框'A'时,应取消选中复选框'B',然后选中复选框。但它没有,并且没有错误写入控制台。

这是使用标准版本的Jquery&amp; Jquery Mobile,直接链接到他们的网站

如果我删除Jquery Mobile元素,删除以下行,那么它可以正常工作

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>

任何人都可以告诉我哪里出错了,因为这看起来很简单,但我对于发生的事情绝对不知所措。

非常感谢

1 个答案:

答案 0 :(得分:3)

因为您需要使用.prop,然后使用.checkboxradio('refresh')重新应用样式。

检查

$('selector').prop('checked', true).checkboxradio('refresh');

取消选中

$('selector').prop('checked', false).checkboxradio('refresh');