如果日期选择器位于 JQuery 对话框上,则 JQuery UI 日期选择器的选择月/年下拉菜单在 iPad 中不起作用

标签 jquery ipad jquery-ui jquery-ui-datepicker jquery-dialog

我创建了一个像这样的 jQuery UI 日期选择器:

 $.datepicker.setDefaults({
            changeMonth: true,
            changeYear: true,
            defaultDate: null,
            dateFormat: dateTimeFormat,
            showOn: 'both',
            buttonImageOnly: true,
            buttonImage: urlPath + 'Content/styles/images/calendar.gif',
            buttonText: 'Calendar'
        });

    $('input.datetime', controlContext).datepicker({
        onSelect: function (dateText, inst) {
            $(inst, controlContext).val(dateText);
            var dateSelected = $(inst, controlContext).datepicker("getDate");
        },
        beforeShow: function (input, inst) {
            $('.hasDatepicker').blur();
        }
    });

它适用于所有主要浏览器。仅当它不在 jQuery 对话框上时,它才能在 Ipad 上正常工作。在 jQuery 对话框中,如果我使用日期选择器来选择某个日期,它也可以正常工作。只有用于选择某个月份或日期的下拉菜单根本不起作用。我可以看到下拉选项,甚至可以单击任何选项,但在选择任何选项后它不会隐藏选项列表,它只是停留在那里。

经过大量调试后,我发现应该在选择任何月份或年份时触发的 onchange 事件没有触发。

再次重复,如果日期选择器不在 jQuery 对话框中,即使选择月/年在 iPad 上也能正常工作。

不知道出了什么问题。

最佳答案

这似乎与在弹出窗口之外创建的 ui-datepicker-div 有关。我在使用 twitter bootstrap modals 时遇到了同样的问题。我可以使用以下方法解决这个问题:

$('#ui-datepicker-div').ready(function() {
  var popup = document.getElementById('**ID OF YOUR POPUP**');
  var datePicker = document.getElementById('ui-datepicker-div');
  popup.appendChild(datePicker);
});

希望有帮助!

关于如果日期选择器位于 JQuery 对话框上,则 JQuery UI 日期选择器的选择月/年下拉菜单在 iPad 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7283793/

相关文章:

ios - 这个 Swift iPad 崩溃日志是什么意思?

ios - 下拉菜单中的Timepicker在iPad和触摸设备上不起作用

jquery - Google Maps API 3 存在问题

iphone - UITextView 在滚动之前不显示

javascript - 如何移动 jquery ui 范围 slider 中的两个旋钮

jQuery UI 可排序和对话

jquery - 让文本区域充当输入

jquery - 根据单击的 anchor 链接更改 URL

javascript - 检查在模糊中删除的元素

javascript - 如何遮盖两个半图像并在悬停时显示带有漂亮动画的完整图像