我正在创建一个包含两列的dataTable。第一列包含一些名称列表,第二列包含针对每个名称的空文本框。这些文本框是动态创建的。我想动态地为每个文本框生成id。我尝试使用以下代码:
jQuery("#table_projection_value").dataTable({
"sAjaxSource": "includes/inc-projection-db.php?mode=projection_dataTable",
"bDestroy": true,
"bPaginate": false,
"bInfo": false,
"bFilter": false,
"bSort": false,
"aoColumnDefs": [
{
"aTargets": [0],
"mRender": function(data, type, row) {
return data + '<input type="hidden" class="user_id" name="user_id[]" id="user_id" value="' + row[4] + '">';
}
},
{
"aTargets": [1],
"mRender": function(data, type, row) {
return '<input type="text" class="form-control text-right projected_value" name="projected_value[]" id="projected_value_' + row[4] + '_' + data + '" onchange="change();">';
}
}
]
});
jQuery("#table_projection_value").on("draw.dt", function(){
jQuery("#projected_value").each(function(i, e){
//var controlid = "#" + jQuery(this).prop("id");
//alert(controlid);
//var arr = controlid.split("_");
$'<span></span>'),{
"class": "arr",
"id": "id_" + i
}).appendTo(this);
});
});
但问题是,我得到每个文本框的id为undefined。那么,我该怎么做呢?我是新手。This is what I get as id for the text box.
答案 0 :(得分:0)
你能确保第[4]行是有效值吗?
你的代码中有一些语法错误,请改用:
$('<span></span>',{
"class": "arr",
id: "id_" + i
}).appendTo(this);