jquery 데이터 테이블의 데이터 소스 역할을하는 Java 컨트롤러에 사용자 정의 매개 변수를 전달하려고합니다. 요점은, 내 jsp에 콤보 상자에 대한 변경 이벤트에이 (매개 변수 전달) 할 싶어요. 여기 jQuery 데이터 테이블에 대한 Java 컨트롤러에 추가 매개 변수 전달
내 데이터 테이블 초기화이다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();
}
아약스 출처의 getQuery
.
추신 : 이전 버전의 데이터 테이블을 사용하고 있으므로 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'에서 전달할 매개 변수를 볼 수 없습니다. 도와주세요!