我正在尝试检测何时取消选中复选框,以及下面的相应字段(带有Id)是否有值,然后将其清空。
有什么想法吗?
我正在使用以下内容,但它无效:
$('#end_date_specified').click(function() {
$('#end_date_datepicker, #end_date_datepicker_altfield').empty();
$('#datediv').toggle();
});
我认为其中一个问题是,无论单击复选框如何,它都会清空字段值。
答案 0 :(得分:1)
我认为这就是你想要的:
$('#end_date_specified').change(function() {
if(!this.checked) {
$('#end_date_datepicker, #end_date_datepicker_altfield').val('');
}
$('#datediv').toggle(this.checked);
});
只有change
(优于clicked
才能获得正确的状态)我们只会清除它是否.checked
,然后根据是否检查显示#datediv
(使用.toggle(bool)
显示,如果不是,则隐藏)。
答案 1 :(得分:0)
正如你所说,现在你将无论如何清除那个div。您要做的是检查复选框上的“已选中”属性。如果是false / undefined / null则执行空。
$('#end_date_specified').click(function() {
if(!$('#end_date_specified').attr('checked')) {
$('#end_date_datepicker, #end_date_datepicker_altfield').empty();
$('#datediv').toggle();
}
});