日期:2014-05-16  浏览次数:20378 次

关于Jquery插件datepicke的困惑
$('.startDate').datepicker({
minDate: 'nowdays',
dateFormat: 'yy-mm-dd',
onSelect: function(dateText, inst) {
$('.endDate').val('');
$('.endDate').datepicker({
minDate: $('.startDate').val(),
dateFormat: 'yy-mm-dd'
  });
}
});


功能实现:限制系统当前日期之前的日期选择,第一个文本框(.startDate)选择后,第二个文本框的限制日期改为第一个文本框的值(就是从 startDate 之前的日期无法选择)。

困惑问题:代码现在只可以实现一次(刚刷新页面后就可以选择),但第一个文本框选择了日期之后,第二个文本框的限制日期就固定了。change()事件也无法更新触发。

本人JS刚入门菜鸟,求高人指点迷津,解答困惑……

------解决方案--------------------
你的思路不对呀:选择第一个日历才绑定第二个日历。而且是每次改变第一个值都绑定一次后面的日历。这是不行的。
你应该第一个框有一个默认值,然后分别绑定两个日期,在第一个选择日期后更新一下第二个日历的最小值限制即可。
JScript code
<script>
$('.startDate').datepicker({
    minDate: 'nowdays',
    dateFormat: 'yy-mm-dd',
    onSelect: function(dateText, inst) {
        $('.endDate').val('').datepicker('option', 'minDate', dateText);
    }
});

$('.endDate').datepicker({
    minDate: $('.startDate').val(),
    dateFormat: 'yy-mm-dd'
  });
</script>