2017-07-18 73 views
0

我有和自動日期選擇器輸入字段。當查詢參數不爲空時,我想更改這些輸入字段的值,並在datepicker上觸發change date事件,因爲我有一個計算日期之間的總價格的函數。當用戶從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

我正在改變輸入字段的值,用引導日期選擇器的日期格式 –

回答

2

嘗試使用更新中提到的documentation。像'$(start +','+ end).datepicker('update',qParamStart);

如果你想弄清楚如何獲得查詢參數this是一個很好的參考。

+0

謝謝更新函數更新字段。但不啓動bootstrap datepicker的(changeDate)函數。 –

0

您可以通過手動調用事件changeDate來完成此操作。例如。 $('.datepicker').datepicker().trigger('changeDate');