2016-09-20 4 views
0

複数の日付ピッカーを含むフォームを作成しようとしていますが、それぞれ別々にデフォルトの日付を定義したいと思います。datepickerのdefaultDate属性を使用するのに問題があります

https://api.jqueryui.com/datepicker/#option-defaultDate

このページが言うに沿って

(および他の場所で、ここでの回答の一部)それを行う方法はdefaultDate属性です。しかし、IDではなく、クラスの内部にある場合にのみ動作させることができます。

<!doctype html> 
<html> 
<head> 
    <title>part of a form page</title> 
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> 
    <script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script> 
    <script> 
     $(function() { 
      $(".datepicker").datepicker({ 
       dateFormat: "mm-dd-yy", 
       altFormat: "yy-mm-dd", 
       altField: "#altField", 
       //defaultDate: 35 //works if uncommented 
      }); 
      $("#fileDate").datepicker({ 
       defaultDate: 35 
      }); 
     }); 
    </script> 
</head> 

<body> 
<div> 
    <br/><label>Today's Date: </label>     <input type="text" name="fileDate" id="fileDate" class="datepicker" required> 
</div> 
</body> 
</html> 

デフォルトの日付または開始日を個々の日付ピッカーの要素ごとにどのように異ならせることができますか?

UPDATE 112グラムの提案は、機能性の懸念限り働いたが、Firefoxでは、ユーザがすでに、何かを入力し、それを削除し、アウトをクリックしたかのように入力ボックスは、赤枠で強調表示のまま。 何らかの理由で見知らぬ人がまだ赤い強調表示をしていない状態で行動するようになりました。テキストを入力して削除し、ページを更新した後に動作するようになりました。私は他の2つで同じことを試みただけでなく、Firefoxを再起動して更新しても何の効果もありませんでした。

答えて

0

あなたの問題は、あなたがid selectorを使ってオプションを変更しようとしているよりも、クラスセレクタを使って最初にinit datepickerを使うことが問題だと思います。 、

$(".datepicker").datepicker({ 
    dateFormat: "mm-dd-yy", 
    altFormat: "yy-mm-dd", 
    altField: "#altField", 
    defaultDate: 1 

}); 

$("#date1").datepicker("option", "defaultDate", 35); 

Fiddle here

+0

働くことをありがとう:あなたはこのようにこれをしなければなりません!それは、たとえユーザーがそれをクリックしてすぐに戻ってきたかのように、赤く塗りつぶされた入力ボックスを持っています。それは好きではなく、本当にそれを取り除きたいです。 – donutguy640

+0

誰も赤いハイライトについて考えていますか?これは必須フィールドですが、ページの読み込み時に赤く強調表示しないでください。 – donutguy640

+0

フォームタグに 'novalidate'属性を追加するだけです。 '

' – 112g

関連する問題