【问题标题】:Why is my datapicker onSelect event firing as soon as the popup loads?为什么我的 datepicker onSelect 事件会在弹出窗口加载后立即触发?
【发布时间】:2014-04-21 02:52:40
【问题描述】:

我创建了一个在局部视图中加载的日期选择器。局部视图本身在弹出对话框中加载。不确定这是否相关,但当对话框弹出时,日期选择器已经打开。似乎在加载日期选择器时默认触发 onSelect 事件。

我在这样的 div 中有日期选择器:

 <div class ="ui-widget" >
      <label for ="datep">Date: </label><input id="datep" />
  </div>

这是脚本: $(函数 () {

        $("#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 事件会在弹出窗口加载后立即触发?我怎样才能防止这种情况发生?感谢您对此的任何帮助!

【问题讨论】:

    标签: javascript jquery asp.net


    【解决方案1】:

    问题是,当对话框打开时,焦点设置在触发日期选择器的输入上。解决方案是在显示对话框时触发输入模糊事件,或者您可以在调用对话框之前使用此代码,它将清除自动对焦:

    $.ui.dialog.prototype._focusTabbable = function(){};
    

    【讨论】:

      猜你喜欢
      • 2013-06-23
      • 2019-08-10
      • 1970-01-01
      • 2011-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多