3
我想將用戶定義的參數傳遞給作爲我的jQuery數據表的數據源的Java控制器。 重點是,我想在我的jsp上的組合框的更改事件上執行此操作(傳遞參數)。將額外的參數傳遞給Java控制器的jQuery數據表
這是我的數據表初始化:
var oTable = $('#reqAllQueriesTable')
.dataTable(
{
"sDom": '<"H"l<"projectTeamTools">frtip>',
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "query/getQuery",
"bPaginate" : true,
"bLengthChange": true,
"bScrollCollapse" : true,
"iDisplayLength" : 10,
"bFilter" : true,
"bJQueryUI" : true,
"sPaginationType" : "full_numbers",
"sSearch": "Search"
});
我的組合框,其值要被傳遞給所述控制器和所述各自的功能是:
$("div.projectTeamTools").html('Organize by Project Teams: <select id="projectTeams"><option value="0">Project Team</option><option value="1">All</option><option value="2">Not Associated</option><c:forEach var="projectTeam" items="${userProjectTeams}"><option value="${projectTeam.projectId}">${projectTeam.projectName}</option></c:forEach></select>');
$("#projectTeams").change(function() {
onTeamSelect($(this).val());
});
function onTeamSelect(teamId){
alert(teamId +" Selected");
//This function to pass the parameter to the datatable is supposed to be here.
oTable.fnDraw();
}
數據表然後顯示它接收到的新數據來自ajax Source getQuery
。
PS:我不能使用fnServerParams,因爲我使用的是舊版本的數據表。我曾嘗試使用fnServerData,但它沒有幫助。我想我在我在fnServerData中使用ajax函數的方式是錯誤的。
"fnServerData": function (sSource, aoData, fnCallback) {
$("#projectTeams").change(function() {
aoData.push({ "name": "myParam", "value": $("#ComboBox option:selected").value() });
$.ajax({
"dataType": 'json',
"url": sSource,
"data": aoData,
"success": fnCallback
});
當我從組合框中選擇一個項目時,我無法看到我想在瀏覽器中的'網絡XHR'中傳遞的參數。 請幫忙!