Определите, когда флажок снят, и очистите поле - PullRequest
0 голосов
/ 17 ноября 2010

Я пытаюсь определить, когда флажок не установлен, и если соответствующее поле ниже (с идентификатором) имеет значение, тогда пусто.

Есть идеи?

Я работаю со следующим, но он не работает:

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

Я думаю, что одна из проблем заключается в том, что он будет очищать значения полей независимо от того, как установлен флажок.

Ответы [ 2 ]

1 голос
/ 17 ноября 2010

Я думаю это то, что вы хотите:

$('#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).

0 голосов
/ 17 ноября 2010

Прямо сейчас вы будете очищать этот 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();
 }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...