jquery1.9以后,checkbox的選中用attr就有問題,第一次能選中,第二次選不中,要換成prop來設置屬性。
1,問題重現
代碼如下
|
復制代碼
|
<html>
<body>
<input type="checkbox" name="items" value="test" id='test' />test
<button class='selected'>選中</button>
<button class='unselected'>不選中</button>
</body>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$('.selected').click(function(){
$('#test').attr('checked','checked');
});
$('.unselected').click(function(){
$('#test').removeAttr('checked');
});
});
</script>
</html>
|
在這里有一點要注意,第一次選中后,用開發者工具,可以看到,checkbox有checked='checked'屬性,第二次,點了,但是選不中,還是有checked='checked'
2,解決辦法
代碼如下
|
復制代碼
|
<script type="text/javascript">
$(function(){
$('.selected').click(function(){
$('#test').prop('checked',true);
});
$('.unselected').click(function(){
$('#test').prop('checked',false);
});
});
</script>
|