2010-09-24 61 views
0

我在我的代碼中使用了jquery事件搜索datepicker,它是here 。我是新來的jQuery和我使用完全相同的代碼。默認日期設置爲比當前日期提前一週。jquery datepicker事件搜索問題

  1. 我該如何將默認日期設置爲當天? (簡單的問題,但是這樣做的正確格式是什麼?)。

  2. 由於我使用的是2個字段,因此我希望根據字段中選擇的值更改默認日期。假設我選擇了2009年6月20日,我希望TO字段從2009年6月21日開始顯示,而不是當前日期。這可以做甚至完成(太好了,jQuery會自動禁用所有日期在FROM字段之前)。

  3. 我試着用這個代碼改變了dateformat,dateformat: "yy-mm-dd",但它沒有改變..顯示mm/dd/yyyy的默認方式。

  4. 我可以禁用from和兩個字段,我不希望任何人嘗試手動更改這些值。

代碼:

$(function() { 
    var dates = $("#from,#to").datepicker({ 
     defaultDate: "null",dateFormat: "yy-mm-dd", 
     changeMonth: true,disabled:true, 
     numberOfMonths: 3, 
     onSelect: function(selectedDate) { 
      var option = this.id == "from" ? "minDate" : "maxDate", 
       instance = $(this).data("datepicker"); 
       date = $.datepicker.parseDate(
        instance.settings.dateFormat || 
        $.datepicker._defaults.dateFormat, 
        selectedDate, instance.settings); 
      dates.not(this).datepicker("option", option, date); 
     } 
    }); 
}); 
+0

http://docs.jquery.com/Main_Page – Patricia 2010-09-24 18:39:05

回答

0
  1. 變化defaultDate: "+1w",請解釋選項defaultDate一個你指定的頁面。

  2. 更改onSelect: function(selectedDate) {中的代碼以選擇第二個選擇器的日期爲「第二天」。

  3. dateFormat,不dateformat

  4. 當您希望禁用它們,使用$("#from,#to").datepicker("disable")

更一般的jQuery UI的文檔非常好:嘗試看看所有可用的選項/方法並找到能夠做你想要的事情的人。

+0

我已經改變defaultDate和日期格式,但無法弄清楚的2和第4點中的日期變更的,並從和領域禁用。我在這裏介紹了我的代碼。 – 2010-09-24 19:17:31

+0

對於第2點,你能舉一個「selectedDate」是什麼樣子的例子嗎? (使用'alert(selectedDate)')。 – 2010-09-24 19:23:01

+0

無論我選擇什麼,它都會顯示出來。例如:2010-08-10 for和8月10日之前的所有值都被禁用,並且當日歷打開時它顯示的字段顯示的是默認日期(當前日期),而不是八月份。對於字段,我希望根據在from字段中進行的選擇來顯示。如果他的日期範圍僅爲1天,我不希望用戶從現場日期回到相同的位置。我希望我很清楚。以及如何禁用2個字段? – 2010-09-24 19:39:24

1
$(function() { 
    var dates = $("#from, #to").datepicker({ 
     minDate: 0, 
     dateFormat: 'dd/mm/yy', 
     changeMonth: true, 
     numberOfMonths: 1, 
     showOn: "both", 
     buttonImage: "images/calendar.gif", 
     buttonImageOnly: true, 
     onSelect: function(selectedDate) { 
      if(this.id=="from"){ 
      var option = this.id == "from" ? "minDate" : "maxDate", 
       instance = $(this).data("datepicker"); 
       date = $.datepicker.parseDate(
        instance.settings.dateFormat || 
        $.datepicker._defaults.dateFormat, 
        selectedDate, instance.settings); 
      var date2 = $('#from').datepicker('getDate', '+1d'); 
      date2.setDate(date2.getDate()+1); 
      dates.not(this).datepicker("option", option, date2); 
     } 
     } 
    });