这似乎有一个非常明显的答案,但是一旦我添加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>
任何人都可以告诉我哪里出错了,因为这看起来很简单,但我对于发生的事情绝对不知所措。
非常感谢
答案 0 :(得分:3)
因为您需要使用.prop
,然后使用.checkboxradio('refresh')
重新应用样式。
检查
$('selector').prop('checked', true).checkboxradio('refresh');
取消选中
$('selector').prop('checked', false).checkboxradio('refresh');