当一个复选框被选中/取消选中时,我想要一个事件来触发客户端:
$('.checkbox').click(function() {
if ($(this).is(':checked')) {
// Do stuff
}
});
基本上,我希望它发生在页面上的每个复选框上。这种点击并检查状态的方法是否正确?
我在想一定有一个更干净的jQuery方式。有人知道解决办法吗?
当一个复选框被选中/取消选中时,我想要一个事件来触发客户端:
$('.checkbox').click(function() {
if ($(this).is(':checked')) {
// Do stuff
}
});
基本上,我希望它发生在页面上的每个复选框上。这种点击并检查状态的方法是否正确?
我在想一定有一个更干净的jQuery方式。有人知道解决办法吗?
当前回答
也许这是你的另一种选择。
<input name="chkproperty" onchange="($(this).prop('checked') ? $(this).val(true) : $(this).val(false))" type="checkbox" value="true" />`
其他回答
它还可以通过以下方式实现。当复选框被触发时,div 或带有#checkbox id的控件被隐藏或以其他方式显示。
<script>
$('#checkbox').on('click',function(){
if(this.checked){
$('#checkbox').hide();
}else{
$('#checkbox').show();
}
});
</script>
尝试这种“html方法”,它适用于小型JS项目
函数msg(animal,is) { console.log(动物,is.checked);//做事情 } <input type="checkbox" oninput="msg('dog', this)"你养狗吗?< br > <input type="checkbox" oninput="msg('frog',this)"你有一只青蛙吗?< br > ...
如果您的意图是仅在选中的复选框上附加事件(因此当它们未选中并稍后再次选中时,它将触发),那么这就是您想要的。
$(function() {
$("input[type='checkbox']:checked").change(function() {
})
})
如果您打算将事件附加到所有复选框(已选中和未选中)
$(function() {
$("input[type='checkbox']").change(function() {
})
})
如果你想让它只在被检查(从未检查)时发射,那么@James Allardice回答上面的问题。
BTW input[type='checkbox']:checked是CSS选择器。
只是另一种解决方案
$('.checkbox_class').on('change', function(){ // on change of state
if(this.checked) // if changed state is "CHECKED"
{
// do the magic here
}
})
也许这是你的另一种选择。
<input name="chkproperty" onchange="($(this).prop('checked') ? $(this).val(true) : $(this).val(false))" type="checkbox" value="true" />`