2013-06-18 70 views
0

我有这样的代码如何使用javascript

$(".datepicker").datepicker(); 
$(".datepicker-to").datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    maxDate: "0D" 
}); 

禁用日历日期,然后我的文本输入框是:

<div> 
    <span>Date From :</span> 
    <input type="text" class="datepicker-to" id="dateFrom" name="dateFrom" /> 
</div> 
<div> 
    <span>Date To :</span> 
    <input type="text" class="datepicker-to" id="dateTo" name="dateTo" /> 
</div> 

现在,当我点击有个约会“从” txtbox我想禁用“到”txtbox中的日期。需要disble的日期是我输入“from”txtbox的日期之前的日期,因为很明显,从jan21-jan9输入日期显然是无效的......我希望我自己清楚...

+0

[jQuery UI的日期选择器的可能的复制。禁用数组日期](https://stackoverflow.com/questions/15400775/jquery-ui-datepicker-disable-array-of-dates) – Liam

回答

1

In datepicker选择回调,您可以将textbox属性readonly。因此它进入非活动模式。

$(".datepicker-to").datepicker({ 
     changeMonth: true, 
      changeYear: true, 
     maxDate: "0D", 
     onSelect: function(selectedDate) { 
     //disable another one here    
    } 
    }); 
1

像Baadsha写道,使用onSelect找出日期被选中时。 但是,我建议你然后设置minDate(使用方法后的)和refresh小部件。

$("#dateFrom").datepicker({ 
    "onSelect": function() { 
     var input = $(this); 
     $("#dateTo").datepicker("option", "minDate", input.datepicker("getDate")); 
     $("#dateTo").datepicker("refresh"); 
    } 
}); 
$("#dateTo").datepicker(); 

FIDDLE DEMO

要在两个方向上datepickers更新设置maxDate太:

$("#dateTo").datepicker({ 
    "onSelect": function() { 
     var input = $(this); 
     $("#dateFrom").datepicker("option", "maxDate", input.datepicker("getDate")); 
     $("#dateFrom").datepicker("refresh"); 
    } 
}); 

FIDDLE DEMO 2


UPDATE: 要禁用选定的日期,过多,你将会有一个一天补偿和偏移选择的日期:

var dayAfter = input.datepicker("getDate"); 
dayAfter.setDate(dayAfter.getDate() + 1); 
$("#dateTo").datepicker("option", "minDate", dayAfter); 

FIDDLE DEMO 3

+0

请参考我的新帖子...我想我的选择日期在“从“在我的”To“中变为” – PeterS