我创建了一个在局部视图中加载的日期选择器。部分视图本身加载在弹出对话框中。不确定是否相关但是当弹出对话框时,日期选择器已经打开。似乎onSelect事件默认在datepicker加载时触发。
我在这样的div中有日期选择器:
<div class ="ui-widget" >
<label for ="datep">Date: </label><input id="datep" />
</div>
这是脚本: $(function(){
$("#datep").datepicker({ showOn: "both", buttonText: "Select Date", changeMonth: true, showButtonBar: true, changeYear: true, yearRange: "-2:+2", showOtherMonths: true, onSelect: function (date, datepickder) {
var tcherData = { selectedDate: date, teacherID: teacherData };
$.ajax({
type: "GET",
url: "/Schedule/GetSchedule",
data: tcherData,
datatype: "html",
sucess: function (data) {
}
});
}
});
为什么弹出窗口加载后onSelect事件会立即触发?我怎样才能防止这种情况发生?感谢您对此提供任何帮助!!
答案 0 :(得分:1)
问题是当对话框打开时,焦点会在触发datepicker的输入上设置。解决方案是在显示对话框时触发输入上的模糊事件,或者在调用对话框之前可以使用此代码,它将清除自动对焦:
$.ui.dialog.prototype._focusTabbable = function(){};