我有一个包含大量行的数据表。我需要在数据表中添加一个新行(只是客户端,我想使用ajax在mysql中插入新行)。我想在列中添加的大多数数据都是select-lists(从mysql中重新获取)。我当前的添加行功能如下所示:
function fnAddRow() {
var addData = {
"sno": "<span id='txt'><img src='images/green_check.png' onClick='saveRow(this)';/><img src='images/red_cross.png' onClick='cancelEdit(this)';/></span>",
"project": "",
"year": "<select name='year' id='year' ><option value='2012'>2012</option><option value='2013'>2013</option></select>",
};
oTable.fnAddData(addData); }
'project'的数据应来自mysql表。我该如何添加?请帮忙!!提前谢谢。
答案 0 :(得分:1)
尝试使用ajax来获取项目数据:
HTML:
<input id="AddButton" type="button" />
<table id="dataTable">
...
</table>
JavaScript的:
function fnGetProjectFromMySQL() {
var projectHTML;
$.ajax({
url: "code/getMySQLData.php",
success: function (mySqlData) {
//Build your project html here using mySQLData
projectHTML = "";
}
});
return projectHTML;
}
function fnAddRow(oTable) {
var addData = {
"sno": "<span id='txt'><img src='images/green_check.png' onClick='saveRow(this)';/><img src='images/red_cross.png' onClick='cancelEdit(this)';/></span>",
"project": fnGetProjectFromMySQL(),
"year": "<select name='year' id='year' ><option value='2012'>2012</option><option value='2013'>2013</option></select>"
};
oTable.fnAddData(addData);
}
$(document).ready(function () {
var oTable = $("#dataTable").dataTable();
$("#AddButton").click(function () {
fnAddRow(oTable);
});
});
我想有几种不同的方法可以完成这项工作。 stackoverflow上的Google和javascript问题可以找到您需要的内容: DataTables - How to add a row