0

我使用 jQuery 选项卡http://jqueryui.com/tabs/

自定义一些选项后,用户单击按钮并重新加载选项卡。

 function refresher() { 
        //empty the tab
        $("#tabs-individually").empty();

            //load new stuff
        //put the container for highcharts-chart in the tab
        $("#tabs-individually").append('<table><tr><td align="left"><form id="formrange">from<input type="text" size="20" id="startdate"/>to<input type="text" size="20" id="enddate" /><select id="range" ><option value="second">second</option><option value="minute" selected>minute</option><option value="hour" >hour</option><option value="day" >day</option></select><input id="button" type="button" value="confirm" onclick="redraw()" /></form></td></tr><tr><td><div id="container"></td></tr></div>');      

我的问题是 jQuery datetimepicker 插件。重新加载选项卡后,有 2 个输入字段,应该通过 javascript 获得一个 datetimepicker。最后它应该是这样的:

如何转换我的 javascript 代码,以便在选项卡为空后加载?

    /*
    <script type="text/javascript"> 
     $("#startdate").datetimepicker({  showSecond: true, timeFormat: 'HH:mm:ss', });
     $("#enddate").datetimepicker({  showSecond: true,  timeFormat: 'HH:mm:ss', });
    </script>
    */

在此处输入图像描述

4

2 回答 2

1

刷新页面后,您需要重新初始化输入元素上的 datepicker 小部件。

function refresher() { 
    //empty the tab
    $("#tabs-individually").empty();

    //load new stuff
    //put the container for highcharts-chart in the tab
    var el = $('<table><tr><td align="left"><form id="formrange">from<input type="text" size="20" id="startdate"/>to<input type="text" size="20" id="enddate" /><select id="range" ><option value="second">second</option><option value="minute" selected>minute</option><option value="hour" >hour</option><option value="day" >day</option></select><input id="button" type="button" value="confirm" onclick="redraw()" /></form></td></tr><tr><td><div id="container"></td></tr></div>').appendTo("#tabs-individually");
    $('#startdate, #enddate').datepicker({});
}
于 2013-07-12T11:45:35.037 回答
0

您可以使用该on功能,然后删除这些datetimepicker行:

$(document).ready(function() {
    $("#tabs-individually").on("load", "#startdate, #enddate", function() {
        $(this).datetimepicker({  showSecond: true,  timeFormat: 'HH:mm:ss', });
    });
}
于 2013-07-12T11:48:52.397 回答