jQuery Datepicker onClose选择下一步

时间:2013-03-11 15:26:02

标签: jquery datepicker jquery-ui-datepicker

我有一个系统,人们可以在其中添加多个日期,即屏幕截图:http://screencast.com/t/Q7MHQVLnn4J9

在选择第一个日期时,onClose事件设置第二个输入的日期并将其打开。 IE

datePickers = function() {
    $(".from_date").datepicker({
      minDate: 'D',
      dateFormat: "dd/mm/yy",
      defaultDate: "+1w",
      numberOfMonths: 2,
      onClose: function(selectedDate) {
        $(".to_date").datepicker("option", "minDate", selectedDate);
        return $(".to_date").datepicker("show");
      }
    });
    return $(".to_date").datepicker({
      minDate: '+1D',
      dateFormat: "dd/mm/yy",
      defaultDate: "+1w",
      numberOfMonths: 2
    });
  };

当我有2,3或更多并编辑第一个或第二个时,我的问题就变成了....关闭它会打开最后一个输入。

我尝试过使用.next('to_date')和最接近('to_date'),但它无效。

有关如何解决这个问题的任何建议。

按要求提供小提琴:http://jsfiddle.net/FdfPY/

1 个答案:

答案 0 :(得分:8)

不要使用return $(".to_date").datepicker("show");,而是执行以下操作:

$(".from_date").datepicker({
      minDate: 'D',
      dateFormat: "dd/mm/yy",
      defaultDate: "+1w",
      numberOfMonths: 2,
      onClose: function(selectedDate) {
        $(".to_date").datepicker("option", "minDate", selectedDate);
        $(this).parent().next().children().focus();
      }
    });
 $(".to_date").datepicker({
      minDate: '+1D',
      dateFormat: "dd/mm/yy",
      defaultDate: "+1w",
      numberOfMonths: 2
    });

样本: http://jsfiddle.net/FdfPY/1/

修改

如果是嵌套的,请使用以下内容:

$(".from_date").datepicker({
      minDate: 'D',
      dateFormat: "dd/mm/yy",
      defaultDate: "+1w",
      numberOfMonths: 2,
      onClose: function(selectedDate) {
        $(".to_date").datepicker("option", "minDate", selectedDate);
        $(this).parents('.span2').next().children().find('.to_date').focus();
      }
    });
 $(".to_date").datepicker({
      minDate: '+1D',
      dateFormat: "dd/mm/yy",
      defaultDate: "+1w",
      numberOfMonths: 2
    });

样本: http://jsfiddle.net/FdfPY/5/