2012-05-09 11 views
2

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

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。

答えて

3

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

"fnServerParams": function (aoData) { 
    aoData.push({ "name": "teamId", "value": $("#projectTeams").val() }); 
}