当复选框被选中/取消选中时,我希望在客户端触发一个事件:
$('.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" />`
$(document).ready(function() {
$('#myform').validate({ // initialize the plugin
rules: {
agree: {
required: true
}
},
submitHandler: function(form) {
alert('valid form submitted');
return false;
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.js"></script>
<form id="myform" action="" method="post">
<div class="buttons">
<div class="pull-right">
<input type="checkbox" name="agree" /><br/>
<label>I have read and agree to the <a href="https://stackexchange.com/legal/terms-of-service">Terms of services</a> </label>
</div>
</div>
<button type="submit">Agree</button>
</form>
关键是:使用prop
而不是attr
来查询checked
状态,例如:
jQuery('#my_check_tag').prop('checked') // 返回正确的状态
jQuery('#my_check_tag').attr('checked') // 总是返回未定义