当一个复选框被选中/取消选中时,我想要一个事件来触发客户端:
$('.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" />`
其他回答
也许这是你的另一种选择。
<input name="chkproperty" onchange="($(this).prop('checked') ? $(this).val(true) : $(this).val(false))" type="checkbox" value="true" />`
关键是:使用prop而不是attr来查询已检查的状态,例如:
jQuery('#my_check_tag').prop('checked') //返回正确的状态 jQuery('#my_check_tag').attr('checked') //总是返回undefined
$(document).ready(function () {
$(document).on('change', 'input[Id="chkproperty"]', function (e) {
alert($(this).val());
});
});
它还可以通过以下方式实现。当复选框被触发时,div 或带有#checkbox id的控件被隐藏或以其他方式显示。
<script>
$('#checkbox').on('click',function(){
if(this.checked){
$('#checkbox').hide();
}else{
$('#checkbox').show();
}
});
</script>
基于事件(点击事件)采取的动作。
$('#my_checkbox').on('click',function(){
$('#my_div').hide();
if(this.checked){
$('#my_div').show();
}
});
没有事件根据当前状态采取行动。
$('#my_div').hide();
if($('#my_checkbox').is(':checked')){
$('#my_div').show();
}