DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> jQuery ui 利用 datepicker插件實現開始日期(minDate)和結束日期(maxDate)
jQuery ui 利用 datepicker插件實現開始日期(minDate)和結束日期(maxDate)
編輯:JQuery特效代碼     

使用jQuery ui首先需要引入jQuery類庫,jQuery ui js腳本和jQuery ui css樣式表。代碼示例如下:

. 代碼如下:
<script src="js/jquery-1.7.1.js"></script>  
<script src="js/jquery-ui-1.8.18.custom.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/smoothness/jquery-ui-1.8.18.custom.css">

注:引入js腳本時,需先引入jQuery類庫,後引入jQuery ui 腳本

下面為兩種實現步驟:

思路一:

第一步  實現兩個datepicker組件。

  需要定義兩個input標簽,類型為text,並指定id屬性

HTML代碼如下

. 代碼如下:
開始日期:<input type="text" id="start">
結束日期:<input type="text" id="end">

在js代碼中得到兩個input元素的jQuery對象,並將其轉化為datepicker組件

Js代碼如下

. 代碼如下:
    $(document).ready(function(){ 
        $("#start").datepicker(); 
        $("#end").datepicker(); 
    }); 

實現以上操作後,在頁面中點擊文本框,如果出現datepicker則代表成功。

第二步  設置開始和結束日期

  當選擇開始日期的值後,則結束日期的最小值應該就是開始日期;同理,當選擇結束日期後,開始日期的最大值則應該是結束日期。我們可以利用datepicker中的onSelect屬性來設置當選擇指定日期後觸發的事件,通過該事件來指定對應的datepicker最小日期或最大日期。

Js代碼如下

. 代碼如下:
$("#start").datepicker({
    onSelect:function(dateText,inst){
       $("#end").datepicker("option","minDate",dateText);
    }
});
$("#end").datepicker({
    onSelect:function(dateText,inst){
        $("#start").datepicker("option","maxDate",dateText);
    }
});

注:匿名函數中的dateText屬性為當前選擇日期的字符串

思路二:

第一步  同時獲得兩個文本框對象,並將其轉換為datepicker(利用jQuery的選擇器)

HTML代碼如下

. 代碼如下:
開始日期:<input type="text" id="start">
結束日期:<input type="text" id="end">

Js代碼如下

. 代碼如下:
var dates = $("#start,#end");
dates.datepicker();

第二步  同樣在選擇日期後,觸發onSelect事件,調用函數傳遞selectedDate參數,

函數體中首先判斷觸發事件的是開始日期還是結束日期,通過該判斷來指定設置minDate或者是maxDate,然後利用not()函數,來反向選擇另一個datepicker對象,並設置其對應的屬性。

Js代碼如下

. 代碼如下:
dates.datepicker({
    onSelect: function(selectedDate){
       var option = this.id == "start" ? "minDate" : "maxDate";
       dates.not(this).datepicker("option", option, selectedDate);
    }
});

這樣在設置一方後,另一方就會被限制了。

實現的效果如圖:

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved