2011-07-27 25 views
0

私は2つの日付フィールドを持つフォームを持っています。それはかなり大きなフォームなので、関連する部分だけを表示します。jquery datepicker - 2つの日付が同じ形式の場合の競合

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

(I "はdateofassessment" はフォームの最初の項目であり、 "LastIncident" が最後の項目であることを指摘すべきである)

私はこのような日付ピッカーオブジェクトを添付..

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

"dateofassessment"入力ボックスは完全に機能します。カレンダーはOKと表示され、日付をクリックすると「dateofassessment」フィールドが表示されます。 - 完璧!

ただし、「LastIncident」ボックスはあまりうまく機能しません。それをクリックするとカレンダーが表示されます。ただし、日付を選択してもフォームには記入されません。実際には、カレンダーは「LastIncident」で終了し、日付を選択するとすぐに「dateofassessment」フィールドに再び開きます。

膨大な量のイントラネットサイトにコード全体を掲載することはできません。しかし、うまくいけば、私は関連する部分を投稿しました。

FYI、フィールドが「読み取り専用」であるということは、何の違いもありません。日付ピッカーとobviouselyバグです

バージョン... の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

まあ。

$(".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

があなたの問題が他の場所に配置され、期待どおりに動作このフィドルを参照してください、この1を更新します(私は私のマスターページに鉱山を持ってhttp://jsfiddle.net/AfmpL/

+0

Matheiu、ありがとう、ソリューションのために上記を参照してください。 – Rob

0

あなたはまた、すべてのdatepickersが同じ動作を行うために.setDefaultsを使用することができますOnDocumentReady関数の前で実行したいからです)。

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

したがって、あなたはほぼ同じくらい自分自身を繰り返す必要はありません。

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

このJavaScriptを使用してみてください:

$(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" /> 
関連する問題