2017-09-01 80 views
0

財產「setStartDate」我有以下的自舉DATERANGE選擇器:無法讀取的不確定

<div class="form-group"> 
    <label class="control-label col-md-3">Inicio: </label> 
    <div class="col-md-7"> 
    <div class="input-group input-large date-picker input-daterange" data-date="2014-03-01" data-date-format="yyyy-mm-dd" id="div_datas_funcao_atual"> 
     <input type="text" class="form-control" name="funcao_atual_inicio" id="funcao_atual_inicio" value="<?php echo $Hoje ?>"> 
     <span class="input-group-addon"> fim </span> 
     <input type="text" class="form-control" name="funcao_atual_fim" id="funcao_atual_fim" value="<?php echo $Hoje ?>"> 
    </div> 
    </div> 
</div> 

而且我有這樣的代碼來更新日期範圍選擇器:

function mostra_datas_empreitada(){ 

    ID = $('#empreitada_atual').val(); 

    $.ajax({ 
      url: 'php/sst_pessoas.php?tipo_acao=empreitada_datas&id='+ID, 
      type: 'get', 
      data: { tag: 'getData'}, 
      dataType: 'json', 
      success: function (dados) { 
       if (dados.sucesso) {       
        dt_inicial = dados.dt_inicio; 
        dt_final = dados.dt_fim; 
        $('#div_datas_funcao_atual').data('daterangepicker').setStartDate(dt_inicial); 
        $('#div_datas_funcao_atual').data('daterangepicker').setEndDate(dt_final); 
       } 
      } 
    }); 
} 

AJAX調用返回以下數據:

{ 「Sucesso的」:真 「dt_inicio」: 「2015年8月31日」, 「dt_fim」: 「2015年9月4日」}

Ajax調用後,DaterangePicker值不改變,我收到消息「無法讀取的不確定財產‘setStartDate’」。 我不知道什麼是錯的。 任何幫助表示讚賞。 謝謝。

+0

是否包含bootstarap-daterangepicker到腳本? – demo

+0

是的,我包含這些文件。它的初始化很好。 –

+0

'$('#div_datas_funcao_atual')。data('daterangepicker')':元素#div_datas_funcao_atual不存在或未設置數據[daterangepicker]。嘗試做分離的步驟和記錄每一步(查詢元素,獲取數據) –

回答

0

我看不到組件的初始化。嘗試這個。

$('#daterange').daterangepicker({ startDate: '03/05/2005', endDate: '03/06/2005' }); 

//change the selected date range of that picker 
$('#daterange').data('daterangepicker').setStartDate('03/01/2014'); 
$('#daterange').data('daterangepicker').setEndDate('03/31/2014'); 
+0

我試過你的例子,但給我在** $('#daterange')。data('daterangepicker')。setStartDate('03/01/2014'); ** –

+0

我說初始化沒問題,因爲我可以在範圍內選擇日期,日期範圍在用戶角度上工作正常。 –

+0

您認爲'undefined'的含義與組件(daterangepicker)或日期本身有關嗎? –

0

我認爲你需要選擇你要更新,而不是它們的容器的輸入。嘗試:

function mostra_datas_empreitada(){ 

ID = $('#empreitada_atual').val(); 

$.ajax({ 
     url: 'php/sst_pessoas.php?tipo_acao=empreitada_datas&id='+ID, 
     type: 'get', 
     data: { tag: 'getData'}, 
     dataType: 'json', 
     success: function (dados) { 
      if (dados.sucesso) {       
       dt_inicial = dados.dt_inicio; 
       dt_final = dados.dt_fim; 

//Change these two selectors:      
$('#funcao_atual_inicio').data('daterangepicker').setStartDate(dt_inicial);      
$('#funcao_atual_fim').data('daterangepicker').setEndDate(dt_final); 

      } 
     } 
}); 
} 

或者,如果有什麼建議@Mickey是正確的,你沒有初始化的日期選擇是,試圖:

$('#div_datas_funcao_atual').daterangepicker({ startDate: '03/05/2005', endDate: '03/06/2005' }); 

//change the selected date range of that picker 
$('#div_datas_funcao_atual').data('daterangepicker').setStartDate('03/01/2014'); 
$('#div_datas_funcao_atual').data('daterangepicker').setEndDate('03/31/2014'); 
+0

好抓,但不幸的是結果是一樣的。 –

+0

嗯。嘗試更新的答案,然後通過用'$('#div_datas_funcao_atual')初始化日期選擇器。'daterangepicker({startDate:'03/05/2005',endDate:'03/06/2005'});' – rmbaumer

+0

也許嘗試使用' /'而不是' - '。看到這個:https://github.com/dangrossman/bootstrap-daterangepicker/issues/1130 – rmbaumer