2010-04-26 287 views
3

我有我的日期選擇器設置如下Jquery的日期選擇器不選擇默認的日期

$("#scheduled_date_163").datepicker({ 
    onSelect: function(dateText, inst) { 
     jQuery.get("/tasks/inplace_edit?id=scheduled_date_163&class_name=Task&value=" + dateText, function(data){ 
     $('#scheduled_date_163').html(data); 
     $('#scheduled_date_163').removeClass('hasDatepicker'); 
     }) 
    } 
    }); 

$('#scheduled_date_163').datepicker("option", "defaultDate", $.datepicker.parseDate("d m y", "31 8 2009")); 

正如你所看到的日期是固定的。它應該被替換爲一些代碼。但是,日期選擇器拒絕選擇日期!它總是顯示我當前的日期。無法找出原因。我甚至嘗試給出字符串中的日期,並且+7等。但今天的日期本身顯示爲默認日期。

這可能是什麼原因造成的?

UPDATE

與scheduled_date_163的元素不是文本字段。它是一個div.On點擊上面寫的datepicker JavaScript執行。

<div id="scheduled_date_163"> 
    <p class='date'>None</p> 
</div> 

div ID在頁面上沒有重複的方式。

+0

你有沒有考慮到檢查theese解決方案之一? – 2012-04-28 02:12:02

回答

2

DEMO:http://jsbin.com/uqevo3/2/edit

$("#scheduled_date_163").datepicker({ 
    defaultDate: "31-8-2009", //OR $.datepicker.parseDate("dd mm yy", "31 8 2009") 
    dateFormat: 'dd-mm-yy', // format as ##-##-#### 
    onSelect: function(dateText, inst) { 
     jQuery.get("/../" + dateText, function(data){ 
     $('#scheduled_date_163').html(data); 
     $('#scheduled_date_163').removeClass('hasDatepicker'); 
     }) 
    } 
    }); 

注:沒有需要申報同一日期選擇器的兩倍,這是你的主要問題!

然後如果你需要設置多個datepickers一些不變的選擇,您可能需要使用 實用功能.setDefaults()

2

這個工作對我來說:

$('#scheduled_date_163').datepicker({defaultDate: $.datepicker.parseDate("d m y", "31 8 2009")}); 

然而,這只是設置在日期選擇器本身的默認日期,它不會改變輸入字段。對於後者,你可以簡單地用val()方法賦值。

(該onSelect部分看起來風馬牛不相及的問題。)

+0

謝謝。但是,您給出的代碼也適用於我,如您所說,它會更改日期選擇器本身的默認日期。我不想那樣。我想要一個特定的實例,因爲我在頁面上有數百個。此外,日期選擇器不會顯示在輸入字段上,但會在點擊某個div時顯示。所以我認爲val方法不行。還有其他建議嗎?謝謝。 – Chirantan 2010-04-26 08:37:43

+0

ID必須是唯一的:如果$('#scheduled_date_163')'返回多個對象,則您的應用程序需要稍微重新設計。無論如何,我不明白你想要做什麼。如果你正在做非標準的事情,你至少應該發佈一些HTML。 – 2010-04-26 09:34:25

相關問題