2011-07-27 52 views
0

我有一個包含兩個日期字段的表單。這是一個相當大的形式,所以我只會展示相關的部分。jquery datepicker - 當兩個日期格式相同時發生衝突

<input id="dateofassessment" name="dateofassessment" readonly="readonly" class='datebox' /> 
<input id="LastIncident" name="LastIncident" readonly="readonly" class="datebox" /> 

(我應該指出的是,「dateofassessment」是形式的第一個項目,「LastIncident」是最後一個項目)

我附上日期選擇對象這樣的..

$(".datebox").datepicker({ 
     dateFormat: 'dd-M-yy', 
     changeYear: true, 
     showButtonPanel: false 
     }); 

「dateofassessment」輸入框完美工作。日曆顯示OK,並點擊日期填寫「dateofassessment」字段 - 完美!

但是,「LastIncident」框不能很好地工作。點擊它顯示日曆確定。但是,選擇日期不會填寫表單。實際上,日曆在「LastIncident」關閉,並在我選擇日期後立即在「dateofassessment」字段中重新打開。

我無法發佈整個代碼,因爲它有大量的內部網站點。但希望我已經發布了相關部分。

供參考,字段是「只讀」的事實沒有任何區別。

版本... jQuery的V1.5.1 日期選擇器1.8.9

+0

當前的jQuery版本:V1.6.2 |目前的jQuery UI版本:v1.8.14。請更新庫,看看行爲是否持續。 – Shef

+0

好想法。按照建議,我現在已更新到最新版本。不幸的是,這個問題依然存在。 – Rob

+0

你的代碼[很好用](http://jsfiddle.net/Shef/wEWRr/),有沒有可能在代碼中的其他地方出現問題? – Shef

回答

1

嗯,這是obviousely錯誤與日期選擇器。使用

$(".datebox").datepicker({ 
     dateFormat: 'dd-M-yy', 
     changeYear: true, 
     showButtonPanel: false 
     }); 

的insted的嘗試

$("#dateofassessment").datepicker({ 
     dateFormat: 'dd-M-yy', 
     changeYear: true, 
     showButtonPanel: false 
     }); 

$("#LastIncident").datepicker({ 
     dateFormat: 'dd-M-yy', 
     changeYear: true, 
     showButtonPanel: false 
     }); 

我知道它會讓你重複自己這是壞的,但它可以幫助理清的問題。或者你可以嘗試其他日期選擇器。或更新這個較新的版本

+0

謝謝你的迴應,Ivan。事實上,這就是我最初編碼它的方式。不幸的是,它不能使用這個代碼。 – Rob

0

您的問題是位於其他位置,看到這個小提琴預期其工作原理:http://jsfiddle.net/AfmpL/

+0

感謝Matheiu,你是對的,請參閱上面的解決方案。 – Rob

0

您還可以使用.setDefaults使所有datepickers行爲相同的(我有我在我的母版,即使在OnDocumentReady中也沒有,因爲我希望它在OnDocumentReady函數之前運行)。

$.datepicker.setDefaults({ 
    showOn: "button", 
    buttonImage: "/Program/Images/calendar.png", 
    buttonImageOnly: true, 
    buttonText: "" 
}) 

因此,您不必重複自己幾乎一樣多。使用這個JavaScript

$("#dateofassessment").datepicker(); 
$("#LastIncident").datepicker(); 
0

嘗試:

$(function() { 
    $("#datepicker").datepicker(); 
    $("#datepicker").datepicker("option", "dateFormat", "yy-mm-dd"); 
}); 

$(function() { 
    $("#datepicker2").datepicker(); 
    $("#datepicker2").datepicker("option", "dateFormat", "yy-mm-dd"); 
}); 

然後使用下面的表單字段:

<input type="text" id="datepicker" name="fecha_ingreso" /> 
<input type="text" id="datepicker2" name="fecha_ingreso2" />