Bạn có thể sử dụng onSelect
sự kiện hẹn hò .
$(".date").datepicker({
onSelect: function(dateText) {
console.log("Selected date: " + dateText + "; input's current value: " + this.value);
}
});
Ví dụ trực tiếp :
$(".date")
.datepicker({
onSelect: function(dateText) {
console.log("Selected date: " + dateText + "; input's current value: " + this.value);
}
})
.on("change", function() {
console.log("Got change event from field");
});
<link href="http://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<input type='text' class='date'>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
Thật không may, onSelect
bắn bất cứ khi nào một ngày được chọn, ngay cả khi nó không thay đổi. Đây là một lỗ hổng thiết kế trong công cụ hẹn hò: Nó luôn kích hoạt onSelect
(ngay cả khi không có gì thay đổi) và không kích hoạt bất kỳ sự kiện nào trên đầu vào cơ bản khi thay đổi. (Nếu bạn nhìn vào đoạn code ví dụ đó, chúng tôi đang lắng nghe những thay đổi, nhưng họ không được nâng lên.) Nó có lẽ nên bắn một sự kiện vào đầu vào khi mọi thứ thay đổi (có thể là thông thường change
sự kiện, hoặc có thể là một datepicker- cụ thể một).
Nếu bạn thích, tất nhiên, bạn có thể làm cho change
sự kiện này input
bùng cháy:
$(".date").datepicker({
onSelect: function() {
$(this).change();
}
});
Điều đó sẽ kích change
hoạt cơ bản input
cho bất kỳ trình xử lý nào được nối thông qua jQuery. Nhưng một lần nữa, nó luôn bắn nó. Nếu bạn chỉ muốn thực hiện một thay đổi thực sự, bạn sẽ phải lưu giá trị trước đó (có thể thông qua data
) và so sánh.
Ví dụ trực tiếp :
$(".date")
.datepicker({
onSelect: function(dateText) {
console.log("Selected date: " + dateText + "; input's current value: " + this.value);
$(this).change();
}
})
.on("change", function() {
console.log("Got change event from field");
});
<link href="http://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<input type='text' class='date'>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>