2016-08-19 9 views
1

これはdatetimepicker.jsプラグインと同じではないことに注意してください。このプラグインは似た名前で、similar problembootsrap datepickerはshowイベントでendDateを選択できません

日付ピッカーの動作をカスタマイズする際にバグがありますか?終了日を設定すると、入力ボタンを押して今日の日付が選択されるように強調表示することができません。

機能的には問題ありませんが、視覚的には間違っています。打撃入力、フォーカスの変更、コントロールへの復帰は何らかの理由で機能しますが、それは私の場合は十分ではありません。

HTML:

<input id="bs_date" type="text" data-provide="datepicker" data-date-autoclose="true" /> 

Javascriptを:

var today = new Date(); 
$("[data-provide='datepicker']").datepicker("setEndDate", 
    new Date(today.getFullYear(), 
     today.getMonth(), 
     today.getDate()) 
); 

$("[data-provide='datepicker']").on("show", function(e) { 
    var isFirstShow = $(this).data("isFirstShow"); 
    console.log("is not first"); 

    if(isFirstShow === undefined) { 
     console.log("is indeed first"); 

     $(this).data("isFirstShow", "yes"); 
     $(this).datepicker('setDate', new Date()); 
     $(this).datepicker('update'); 
     $(this).removeAttr('placeholder'); 
     $(this).val(""); 
    } 
}); 

このコードのポイントは空白の初期入力フィールドの自動選択を可能にすることである(ただし、提出されません)今日の日付最初にユーザーがクリックします。

これらの2行のコードが仕事をすると思います。

$(this).datepicker('setDate', new Date()); 
$(this).datepicker('update'); 

次のように見えるようになっていない:彼らはあなたが何のサイコロを指すようにしないれるendDateにセットを持っていない限り、DO

so wrong

このように見えることになっている。

これを修正しようとする仕事の支出時間。どんな助けでも大歓迎です。

答えて

1

fwiw、これはうまくいくようです。

var today = new Date(); 
$("[data-provide='datepicker']").on("show", function(e) { 
    var isFirstShow = $(this).data("isFirstShow"); 
    console.log("is not first"); 

    if(isFirstShow === undefined) { 
     console.log("is indeed first"); 

     $(this).data("isFirstShow", "yes"); 
     $(this).datepicker('setDate', new Date()); 
     $("[data-provide='datepicker']").datepicker("setEndDate", 
        new Date(today.getFullYear(), 
       today.getMonth(), 
       today.getDate()) 
     ); 
     $(this).datepicker('update'); 
     $(this).removeAttr('placeholder'); 
     $(this).val(""); 
    } 
}); 
+0

私は、問題を修正したので、見ている価値はあると思います。 :)ありがとう。 – looch

関連する問題