2011-12-17 3 views
1

У меня есть поле ввода с событием onChange, которое запускает вызов AJAX, который сохраняет новое значение поля ввода в базе данных. Это прекрасно работает, когда пользователь вводит текст вручную в текстовое поле, но не тогда, когда я прикрепляю jQuery datepicker к полю.Trigger onChange event on readonly jQuery datepicker

То, что я хотел бы сделать, это сделать текстовое поле readonly, привязанным datepicker к нему и иметь onchange событие, которое будет запущено, когда пользователь выбирает дату в datepicker.

Итак, есть две проблемы решить:

  1. Trigger OnChange событие на текстовом поле, когда дата выбрана в DatePicker.
  2. Убедитесь, что решение работает, если текстовое поле только для чтения.

Благодарности

+0

Пожалуйста, не бросайте в общих рекомендаций. Они бесполезны. Я работаю над этим в течение нескольких часов, и я попытался переопределить onSelect и запустить $ (this) .change(), но он, похоже, вызывает событие onChange в поле readonly. – alecswan

ответ

2

Вы должны использовать события Datepicker вместо назначения событий в текстовом поле

$('.selector').datepicker({ 
    onSelect: function(dateText, inst) { 
       //do something here 
      } 
}); 
-1

Проблема в моем случае было вмешательство в сети стороннего механизм обработки событий. Однако, если кто-нибудь заинтересовал следующий фрагмент кода работает для меня:

$(this).datepicker({ 
    onSelect: function(dateText, inst) { 
    $(this).val(dateText); 
    $(this).change(); 
    } 
})