动态添加的代码无法正常使用datepicker

时间:2016-05-10 19:13:37

标签: javascript jquery jquery-ui jquery-plugins datetimepicker

我尝试在视图中添加动态标记。我想使用jquery插件作为datetimepicker。 (http://xdsoft.net/jqplugins/datetimepicker/) 这不起作用。

//$("#timeseriesDate" + i + "").datetimepicker({
//    timepicker: false,
//    format: 'Y/m/d',
//    formatDate: 'Y/m/d'
//});

function create() {
    var startDate = new Date($('#date1').val());
    var endDate = new Date($('#date2').val());
    var diff = datediff(startDate, endDate);
    $("#matrixtimeseries").empty();
    $("#matrixtimeseries").append('<div>');
    for (i = 0; i < diff; i++) {
        $("#matrixtimeseries").append('<input class="timeseries-red date" type="text" name=timeseriesDate' + i + 'id=timeseriesDate' + i + '"/>');
        //$("#timeseriesDate" + i + "").datetimepicker({
        //    timepicker: false,
        //    format: 'Y/m/d',
        //    formatDate: 'Y/m/d'
        //});
        for (var ii = 0; ii < 24; ii++) {
            $("#matrixtimeseries").append('<input class="timeseries-red" type="text" name=hourseries' + i + ii + 'id=hourseries' + i + ii + '" />');
        }
        $("#matrixtimeseries").append('<br/>');
    };
    $("#matrixtimeseries").append('</div>');
}

1 个答案:

答案 0 :(得分:0)

您在生成的HTML中需要nameid之间的空格。

$("#matrixtimeseries").append('<input class="timeseries-red date" type="text" name=timeseriesDate' + i + ' id=timeseriesDate' + i + '"/>');
                                                                                                          ^

您的HTML在i=1name=timeseriesDate1id=timeseriesDate1

时具有以下属性

或者您可以使用面向对象的方法而不是生成HTML。

$("#matrixtimeseries").append($("<input>", 
    "class": "timeseries-red date",
    "type": "text",
    "name": "timeseriesDate" + i,
    "id": "timeseriesDate" + i
}));