jQuery datepicker不能与iPad一起使用

时间:2013-01-18 17:58:51

标签: jquery ipad jquery-ui-datepicker

 $(function () {
        $('.Month-Picker').datepicker({
            changeMonth: true,
            changeYear: true,
            showButtonPanel: false,
            dateFormat: 'MM-yy',
            onClose: function (dateText, inst) {
                var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
                var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
                $(this).datepicker('setDate', new Date(year, month, 1));
                $("#<%=btnMonthYear.ClientID %>").click();
            },
            beforeShow: function (input, inst) {
                if ((datestr = $(this).val()).length > 0) {
                    year = datestr.substring(datestr.length - 4, datestr.length);
                    month = jQuery.inArray(datestr.substring(0, datestr.length - 5), $(this).datepicker('option', 'monthNames'));
                    $(this).datepicker('option', 'defaultDate', new Date(year, month, 1));
                    $(this).datepicker('setDate', new Date(year, month, 1));
                }
            }
        });
    });

我有一个jQuery日期选择器,我通过它选择“月 - 年”它除了iPad之外的每个浏览器都能正常工作。请查看随附的图片。 error with jQuery Datepicker

2 个答案:

答案 0 :(得分:1)

var postForm = false;

    $(function () {
        $('.Month-Picker').datepicker({
            changeMonth: true,
            changeYear: true,
            showButtonPanel: false,
            dateFormat: 'MM-yy',
            onChangeMonthYear: function () { postForm = true; },
            onClose: function (dateText, inst) {
                var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
                var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
                $(this).datepicker('setDate', new Date(year, month, 1));
                $("#<%=btnMonthYear.ClientID %>").click();
            },
            beforeShow: function (input, inst) {
                if ((datestr = $(this).val()).length > 0) {
                    year = datestr.substring(datestr.length - 4, datestr.length);
                    month = jQuery.inArray(datestr.substring(0, datestr.length - 5), $(this).datepicker('option', 'monthNames'));
                    $(this).datepicker('option', 'defaultDate', new Date(year, month, 1));
                    $(this).datepicker('setDate', new Date(year, month, 1));
                    postForm = false;
                }
            }
        });
    });

    $(document).ready(function () {
        $("#aspnetForm").click(function () {
            if (postForm == true) {
                postForm = false;
                var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
                var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
                $(this).datepicker('setDate', new Date(year, month, 1));
                $("#<%=btnMonthYear.ClientID %>").click();
            }
        });
    });

答案 1 :(得分:0)

我建议你使用chrome开发工具。(F12)

设置&gt;重写&GT; “用户代理”选择iPad。

Chrome和Safari都使用WebKit。您可以轻松模拟iPad并进行调试。