2011-01-25 82 views
1

用戶必須輸入Date From字段和Date To字段。 「日期至」字段必須位於「日期」之後。 如何在JQuery中執行此操作? 我目前的代碼不起作用,甚至沒有提供默認日期。JQuery:1 datepicker從日期到約束到日期

<script type="text/javascript" language="javascript"> 
    $('#DateFrom').datepicker({ dateFormat: 'dd-MM-yy', changeMonth: true, changeYear:true, yearRange: 'c-1:c+1' }); 
    $('#DateTo').datepicker({ dateFormat: 'dd-MM-yy', changeMonth: true, changeYear: true, yearRange: 'c-1:c+1' }); 
    $('#DateFrom').datepicker({ onSelect: function (dateStr) { 
     $('#DateTo').datepicker({ defaultDate: dateStr }); 
    } 
    }); 
    $('#DateTo').datepicker(); 

</script> 

回答

2

您可以使用datepicker的minValue選項。下面 樣品:

<input type="text" id="from"> 
<input type="text" id="to"> 
<script type="text/javascript"> 
$(function(){ 
    $("#to").datepicker(); 
    $("#from").datepicker().bind("change",function(){ 
     var minValue = $(this).val(); 
     minValue = $.datepicker.parseDate("mm/dd/yy", minValue); 
     minValue.setDate(minValue.getDate()+1); 
     $("#to").datepicker("option", "minDate", minValue); 
    }) 
}); 
</script> 

工作〔實施例@http://jsfiddle.net/dW4n8/2/

編輯:更新了樣品從日期排除了。

+0

由於您的編輯已停止工作。在Firebug中,我收到錯誤消息'未捕獲的異常:位置2處的意外字面' – arame3333 2011-01-25 16:29:51

0

恐怕您必須將自定義驗證添加到適當的回調。 AFAIK在jquery datepickers中不存在最小日期這樣的事情。 我建議你也看看onClose回調。