动态添加的标签不能与日期选择器一起正常工作

Dynamically added tag doesn't work correctly with datepicker

我尝试在视图中动态添加标签。我想使用 jquery 插件作为日期时间选择器。 (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>');
}

您需要在生成的 HTML 中的 nameid 之间添加一个 space。

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

您的 HTML 在 i=1 时具有以下属性:name=timeseriesDate1id=timeseriesDate1

或者您可以使用面向对象的方法来代替生成 HTML。

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