0

Rails 3.2.9 では、ブートストラップの日付ピッカーを使用して日付を表示しています。1 つのフォームで、2 つのフィールドの日付ピッカーを表示する必要があります。最初のフィールドをクリックすると、datepicker がポップアップします。その後、「タブ」ボタンをクリックすると、最初の日付ピッカーに追加して、2 番目のフィールドの日付ピッカーがポップアップします。特定のフィールドに対して、一度に 1 つの日付ピッカーを表示する必要がありますonclick。「タブ」ボタンをクリックすると、最初のフィールドの日付ピッカーが非表示になり、2 番目のフィールドの日付ピッカーがポップアップするはずです。

Javascriptは以下のようなものです

function currentDatePicker(id){
var nowTemp = new Date();
var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);

$('#' + id).datepicker({
    format: "yyyy-mm-dd",
    onRender: function(date) {
        return date.valueOf() < now.valueOf() ? 'disabled' : '';
    }
});

}

ビューでは、

<%= f.input :start_date, :as=>:string, :label =>"Start Date", :required => false,
  :input_html=>{:readonly=>true, :value=>@user.start_date.blank? ? "" : @user.start_date} %>

<%= f.input :end_date, :as=>:string, :label =>"End Date", :required =>false,
  :input_html=>{:readonly=>true, :value=>@user.end_date.blank? ? "" : @user.end_date} %>

<script type="text/javascript">
 currentDatePicker('user_start_date');
 currentDatePicker('user_end_date');
</script>

詳細については、画像を追加しました

上記の詳細については、画像を追加しました。この問題を解決するために私を助けてください。

4

2 に答える 2

1

まったく同じ問題に遭遇しました。次のようにして解決しました。

var pickers = $(".datepicker")
    .datepicker({
        format: "mm/dd/yy",
        autoclose: true
    })
    .on("show", function(e){
        pickers.not(e.currentTarget).datepicker("hide");
    });
于 2013-05-09T00:01:12.113 に答える
1

日付ピッカーに異なる ID を使用してから、ID でイベント処理を使用できます。2番目の日付ピッカーをクリックすると、最初の日付ピッカーを手動で非表示にします。または、datepicker の autoclose 属性を使用します。$('#from').datepicker( { autoclose: true, startDate: today.getDate.toString() } ); $('#to').datepicker( { autoclose: true, startDate: today.getDate.toString() });

form と #to は ID です。

于 2013-05-03T13:00:31.513 に答える