0

たくさんの行があるデータテーブルがあります。データテーブルに新しい行を追加する必要があります(クライアント側だけです。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テーブルから取得する必要があります。どうすれば追加できますか?助けてください!!前もって感謝します。

4

1 に答える 1

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-行を追加する方法

于 2012-09-11T08:50:49.713 に答える