Браузер просто не запускает событие change
в этих случаях (установка значения по сценарию), но если вы хотите узнать, когда это произойдет, вы можете использовать onSelect
обработчик для средства выбора даты, например:
$(function() {
$("#datepicker").datepicker({
altField: '#dateIntermediate',
onSelect: function() {
alert('Current #dateIntermediate value: ' + $("#dateIntermediate").val());
}
});
});
Вы можете проверить его здесь .Или, альтернативно, вы можете запустить обработчик change
, который у вас есть на данный момент, таким же образом:
$(function() {
$("#datepicker").datepicker({
altField: '#dateIntermediate',
onSelect: function() {
$("#dateIntermediate").change();
}
});
$('#dateIntermediate').change(function(){
console.log("dateIntermediate changed");
});
});
Вы можете проверить это здесь
КакКроме того, вам не нужна оболочка $(window).ready(function() { });
, она эквивалентна $(document).ready(function() { });
, которая уже обрабатывается вашей оболочкой $(function() { });
.Ваш текущий метод работает, потому что $(anything).ready()
все идет в одно и то же место, но нет необходимости в более чем одной обертке, поэтому просто удалите внешнюю:)