Jquery plugins 将选择类型添加到fnadddata

Jquery plugins 将选择类型添加到fnadddata,jquery-plugins,datatables,Jquery Plugins,Datatables,我有一个包含很多行的数据表。我需要在datatable客户端添加一个新行,我想使用ajax在mysql中插入该新行。我想在列中添加的大多数数据都是从mysql检索的选择列表。我当前的添加行函数如下所示: function fnAddRow() { var addData = { "sno": "<span id='txt'><img src='images/green_check.png' onClick='saveRow(this)';/><

我有一个包含很多行的数据表。我需要在datatable客户端添加一个新行,我想使用ajax在mysql中插入该新行。我想在列中添加的大多数数据都是从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表。我该怎么补充呢?请帮忙!!提前感谢。

尝试使用ajax获取项目数据:

HTML:

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问题应该可以找到您需要的:

谢谢,这个逻辑对我来说很有效,因为我有10个这样的列,所以它相当长,但我想没有其他方法了???@user1165952一般来说,如果我构建一个html元素,比如select,我最终会手动将代码拼接在一起。如果您使用某种框架,比如.NET中的MVC3,或者php中的Yii,它们可能有一些函数,您可以在其中放入一些数据,它们会自动在中创建html对象,但这是一个不同的问题,取决于您的框架。否则,您需要老一套,一步一步地构建html。
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);
    });
});