将选择类型添加到fnadddata

时间:2012-09-10 21:43:57

标签: jquery-plugins datatables

我有一个包含大量行的数据表。我需要在数据表中添加一个新行(只是客户端,我想使用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表。我该如何添加?请帮忙!!提前谢谢。

1 个答案:

答案 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