очистить определенные поля, когда пользователь изменяет значение выбора - PullRequest
1 голос
/ 05 июля 2010

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

У меня есть HTML-форма с тремя полями;

  • выберите:disposition_status
  • text: disposition_datetime_hasrecord
  • text: disposition_description

Поле выбора disposition_status имеет следующие значения:

  • 1 -in
  • 2 - out

Когда пользователь выбирает элемент в disposition_status со значением 1 (in), я хочу очистить любой текст в полях disposition_datetime_hasrecordи disposition_description.

Если у кого-либо есть пример или он может указать мне верное направление для достижения этого, это будет оценено.

Ответы [ 3 ]

3 голосов
/ 05 июля 2010

demo

$('#disposition_status').change(function() {
    if (this.value == 1) {
        $('#disposition_datetime_hasrecord').val('');
        $('#disposition_description').val('');
    }
});​

edit: на основе комментария

Хорошо, теперь я вижу проблему, ее следует обернуть внутри

$(document).ready(function() { 
    //code here 
}); 

извините, jsfiddle делает это внутренне (я установил это на самом деле) .. поэтому просто поместите коды внутри, как

$(document).ready(function() { 
   $('#disposition_status').change(function() {
      if (this.value == 1) {
        $('#disposition_datetime_hasrecord').val('');
        $('#disposition_description').val('');
      }
   });​
}); 

объяснение здесь

2 голосов
/ 05 июля 2010

Все нормально, ночи воскресенья - трудная ночь для кодирования; -)

Чтобы сделать это, вы должны использовать метод jQuery change для отслеживания любых изменений в меню. Оттуда вы можете настроить простую инструкцию case, чтобы решить, что делать, например ::

 $("#disposition_status").change(function() {
     if ($(this).val() == 1) {
         $("#disposition_datetime_hasrecord").val("");
         $("#disposition_description").val("");
     }
 });

Предполагается, что у вас установлены идентификаторы, в противном случае вы можете использовать селектор "*[name=disposition_status]" и т. Д. Для их выбора.

Редактировать: О, черт! Просто избит кем-то другим ;-) Тот же мыслительный процесс, по крайней мере:)

2 голосов
/ 05 июля 2010

Попробуйте это:

$('select[name=disposition_status]').change(function() {
    if ($(this).val() == 1) {
        $('*[name=disposition_datetime_hasrecord]').val('');
        $('*[name=disposition_description]').val('');
    }
});
...