确定何时取消选中复选框并清除字段

时间:2010-11-17 14:28:13

标签: jquery checkbox

我正在尝试检测何时取消选中复选框,以及下面的相应字段(带有Id)是否有值,然后将其清空。

有什么想法吗?

我正在使用以下内容,但它无效:

$('#end_date_specified').click(function() {
 $('#end_date_datepicker, #end_date_datepicker_altfield').empty();
 $('#datediv').toggle();
});

我认为其中一个问题是,无论单击复选框如何,它都会清空字段值。

2 个答案:

答案 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();
 }
});