多个链接的jQuery UI日期选择器

前端之家收集整理的这篇文章主要介绍了多个链接的jQuery UI日期选择器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我希望能够链接多对jQuery UI datepicker实例,以便每对中的第二个不能选择比第一个更早的日期.我正在关注this example开始.

例:

我通过查找“计数器”号码来循环实例:

$(document).ready(function() {
    var starts = $("input[name='counter']");
    var dates = new Array();
    starts.each(function(){
        var x = this.value;
        // http://jqueryui.com/demos/datepicker/#date-range
        dates[x] = $( "#start_"+x+",#end_"+x ).datepicker({
            onSelect: function( selectedDate ) {
            var option = this.id == "#start_"+x ? "minDate" : "maxDate",instance = $( this ).data( "datepicker" );
            date = $.datepicker.parseDate(
            instance.settings.dateFormat ||
            $.datepicker._defaults.dateFormat,selectedDate,instance.settings );
            dates[x].not( this ).datepicker( "option",option,date );
            }
        });
    });
});

这适用于在每个输入上启用日期选择器,但它不会阻止第二个实例在第一个实例之前选择日期.实际上,它要求第二个实例在第一个实例之前选择一个日期.选中后,第二个实例将填充两个输入!

谁能看到我哪里出错了?

最佳答案
我不是100%关于parseDate的用途,也不是为什么要从数据存储中检索实例.但是,我认为你的主要问题是this.id测试. ID永远不会以实际DOM元素中的#开头.

onSelect: function(selectedDate) {
    var option = this.id.indexOf("start_") != -1 ? "minDate" : "maxDate";
    dates[i].not(this).datepicker("option",selectedDate);
}

上面应该这样做,或者你可能只是从你的代码中取出哈希(我刚刚做了,似乎工作正常). :]

原文链接:https://www.f2er.com/jquery/427928.html

猜你在找的jQuery相关文章