2017-07-18 12 views
0

私はブートストラップ日付ピッカーでフィールドを入力する必要があります。クエリのパラメータが空でない場合は、これらの入力フィールドの値を変更して日付間の合計価格を計算する関数があるため、datepickerで日付変更イベントをトリガーしたいと思います。ユーザーがdatepickerから日付を選択するとうまく動作しますが、jqueryで値を変更しても計算されません。ブートストラップ日付ピッカートリガーの変更

$('#from').val('<%= @from_date %>').trigger('change'); 
$('#to').val('<%= @to_date %>').trigger('change'); 
//function 
var dates_avail = new DatesAvailability({ 
       start: '#from', 
       end: '#to' 
}); 

.. 
W.DatesAvailability = function (opts) { 
var options = $.extend({}, defaultOpts, opts); 
     var start = options.start + ',' + options.rel_start; 
     var end = options.end + ',' + options.rel_end; 
     $(start + ',' + end).datepicker({ 
      autoclose: true, 
      format: "yyyy-mm-dd", 
      startDate: '+1d', 
      endDate: '+3y', 
.. 
}). 
on('changeDate', function (e) { 
// I would like to trigger this. 
.. 

私はまた、ブートストラップ・datepicker.jsに次の行

.. 
if (fromArgs){ 
       // setting date by clicking 
       this.setValue(); 
       this.element.change(); 
      } 
      else if (this.dates.length){ 
       // setting date by typing 
       if (String(oldDates) !== String(this.dates) && fromArgs) { 
        this._trigger('changeDate'); 
        this.element.change(); 
       } 
      } 
.. 
+0

どのようにjQueryで値を変更していますか? 'setDate'と' setUTCDate'のいずれかを試しましたか? –

+0

私は入力フィールドの値を変更しています。ブートストラップdatepickerの日付形式は –

答えて

2

documentationに更新言及を使用してみてくださいしています。 `$(start + '、' + end).datepicker( 'update'、qParamStart)のようなものです。

クエリパラメータを取得する方法を理解しようとしている場合は、thisを参考にしてください。

+0

です。しかし、ブートストラップdatepickerの機能(changeDate)は起動しません。 –

0

イベント番号changeDateを手動で呼び出すことで、これを行うことができます。例えば。 $('.datepicker').datepicker().trigger('changeDate');

関連する問題