我需要对从另一个复选框中选中的复选框执行一些操作。但它不起作用。为什么?简单的例子:
$('.tmp').click(function(){
$('.quest:not(:checked)').prop('checked', true);
});
$('.quest').change(function(){
console.log(this);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="" id="" class="tmp"> Click me to see some magic... or not(
<br>
<input type="checkbox" name="" id="" class="quest">1
<input type="checkbox" name="" id="" class="quest">2
<input type="checkbox" name="" id="" class="quest">3
<input type="checkbox" name="" id="" class="quest">4
<input type="checkbox" name="" id="" class="quest">5
<input type="checkbox" name="" id="" class="quest">6
<input type="checkbox" name="" id="" class="quest">7
<input type="checkbox" name="" id="" class="quest">8
<input type="checkbox" name="" id="" class="quest">9
<input type="checkbox" name="" id="" class="quest">10
&#13;
答案 0 :(得分:0)
您需要使用change
方法手动触发trigger
事件,例如:
$('.quest:not(:checked)')
.prop('checked', true) // updating prop but the change event is not fired
.trigger('change'); // this line will trigger the change event on .quest
答案 1 :(得分:0)
您需要根据添加复选框属性检查是否选中.tmp
。
$('.tmp').click(function(){
if($(this).is(':checked')){
$('.quest').prop('checked', true);
} else {
$('.quest').prop('checked', false);
}
});
答案 2 :(得分:0)
$(document).ready(function () {
$('.tmp').click(function () {
$('.quest:not(:checked)').prop('checked', true);
});
$('.quest').change(function(){
console.log(this);
});
});