1

我面臨Bootstrap Datetime picker的問題。從Javascript動態生成時,日期時間選取器不會彈出

問題:當我嘗試在HTML中添加靜態代碼時,它工作正常。彈出(日期時間選擇器)出現,甚至功能都很好。但是,當我嘗試使用Javascript生成相同的HTML時,它無法工作。只有輸入文本框出現。但是,彈出窗口不會出現。我究竟做錯了什麼?

這裏是我的靜態HTML代碼(這個工程) -

<div class="col-sm-9"> 
<input size="16" type="text" value="2016-04-15 14:45" readonly class="form_datetime"> 
</div> 

我需要從JavaScript動態生成相同的HTML(這不起作用) -

tableStr += '<td>\ 
<input size="16" type="text" value="2016-04-15 10:00" readonly class="form_datetime" id="dealstarttime'+i+'">\ 
</td>\ 
<td>\ 
<input size="16" type="text" value="2016-05-15 10:00" readonly class="form_datetime" id="dealendtime'+i+'">\ 
</td>'; 

我在代碼中onload() -

$(".form_datetime").datetimepicker({format: 'yyyy-mm-dd hh:ii'}); 
+1

。 –

+0

我知道這不是問題的答案,但我可以建議使用'>,你很好嗎? – Dellirium

+0

@KartikeyaKhosla你的意思是我必須做'$(「。form_datetime」)。datetimepicker({format:'yyyy-mm-dd hh:ii'});'在'tableStr'結尾之後?我用一個循環來填充表格,比如10個這樣的日期時間選擇器。所以,我需要把這段代碼放在循環中嗎? – bozzmob

回答

0

作爲評價建議的卡爾提克亞,

我通過具有在我的循環這是動態地生成HTML的端部這行代碼重新初始化的日期時間選擇器。

我的代碼現在看起來像這 -

function generatePickers() { 
    for (var i = 0; i < deals.length; i++) { 

     tableStr += '<td>\ 
      <input size="16" type="text" value="2016-04-15 10:00" readonly class="form_datetime" id="dealstarttime' + i + '">\ 
      </td>\ 
      <td>\ 
      <input size="16" type="text" value="2016-05-15 10:00" readonly class="form_datetime" id="dealendtime' + i + '">\ 
      </td>'; 

    } 

    //I ADDED THIS PIECE OF CODE, and now it WORKS! 
    $(".form_datetime").datetimepicker({ 
     format: 'yyyy-mm-dd hh:ii' 
    }); 
} 
你在DOM附加HTML後重新初始化的DateTimePicker