2

関数外の関数のJqueryデータテーブルで作成したカスタムパラメータを更新しようとしてい.datatable()ます。

カスタムパラメータは次の方法で作成しました。

 var oTable = $('#reqAllQueriesTable')
        .dataTable(
                {
                "bProcessing": true,
                "bServerSide": true, 
                "sAjaxSource": "query/getQuery",
                "bFilter" : true,
                "bJQueryUI" : true,
                "sSearch": "Search",
                "sDom": '<"H"<"projectTeamTools">lrft>',
                "fnServerData": function ( sSource, aoData, fnCallback ) {
                            aoData.push( { "name": "myParam", "value": "myValue" } );
                                $.ajax( {
                                    "dataType": 'json', 
                                    "url": sSource, 
                                    "data": aoData, 
                                    "success": fnCallback
                                    } );
                        } 
                });

 $("div.projectTeamTools").html('Organize by Project Teams: <select id="projectTeams"><option value="1">Project Team</option><c:forEach var="projectTeam" items="${userProjectTeams}"><option value="${projectTeam.projectId}" onClick="javascript:onTeamSelect(this.value)">${projectTeam.projectName}</option></c:forEach></select>');  

 function onTeamSelect(teamId){
    alert(teamId +" Selected");
    //oTable.fnSettings().aoServerParams.push( { name: "aoTeamId", value: teamId } );
              //I want to update the parameter `myParam` here. 
              //Or create a new parameter 'aoTeamId', whichever is possible.
}

これは可能ですか。助けてください!

ありがとう、Sunmit。

4

1 に答える 1

3

fnServerDataパラメータを上書きする必要はありません。目的のために、fnServerParamsパラメーターを次の行のようなもので上書きします。

"fnServerParams": function ( aoData ) {
    aoData.push({ "name": "teamId", "value": $("#projectTeams").val() });
}
于 2013-01-14T15:34:55.143 に答える