2013-07-09 3 views
3

jQuery DataTables를 사용하여 양식에 데이터를 표시하고 있습니다. 필자는 데이터를 필터링하기 위해 여러 매개 변수를 전송해야하는 요구 사항이 있습니다. jQuery에서 값 배열을 fnServerParams로 전달할 수 있습니까?

현재 내가 사용하고

는 :

CHK1, chk2 ..이 체크 박스와 단순 위해서입니다
$('.datatable').dataTable({ 
     "sDom": "<'row'<'span3'l><'span6'f>r>t<'row'<'span5'i><'span4'p>>", 
     "bServerSide": true,          
     "sAjaxSource": //myurl,            
     "bProcessing": true,          
     "sPaginationType": true,        
     "bSort": true,         
     "iDisplayLength": 20, 
     "fnServerParams": function (aoData) { 
      if (filtersAdded === "true") { 
       aoData.push({ "name": "chk1", "value": true}); 
      } 
     },           
     "fnCreatedRow": function (nRow, aData, iDataIndex) { 
       // Do stuff with row data     
     }, 
     "bFilter": false, 
     "bDestroy": true 

    }); 

, 사용자가 같은 사실을 확인, 추정 할 수 있습니다. 이제 내 코드에서 chk1 값을 쉽게 검색 할 수 있지만 사용자가 3 또는 4 개의 확인란을 선택하면 (내 페이지에 7-8 개의 확인란이 표시됨) 내 요구 사항이 무엇입니까? 나는이 모든 3-4 선택 체크 박스 값을 배열에 코드 (MVC)에 전달하고 싶다.

var filterarray = []; 
filterarray .push({ "name": "chk1", "value": true}); 
filterarray .push({ "name": "chk2", "value": true}); 

지금 내가 어떻게이 fnServerParams 값으로 filterarray 전달하지 : 나는대로 배열의 모든 선택이 끝난 체크 박스 데이터를 받고, 지금

을 뭐하는 거지? 어떤 도움을 주시면 감사하겠습니다.

답변

1

나는 당신을 올바르게 이해했는지 모르겠다. 정보를 한 번 보내시겠습니까? 아니면 사용자가 확인란을 설정/해제 할 때 정보를 새로 고치시겠습니까? 당신이 당신의 정보는 API 함수 fnReloadAjax (http://datatables.net/plug-ins/api)를 사용할 수를 갱신해야하는 경우

var oTable = $('#selector').dataTable({ 
      "sAjaxSource": "your-url", 
      "fnServerData": function (sSource, aoData, fnCallback) { 
        aoData.push({"name": "param1", "value": 1}); 
        aoData.push({"name": "param2", "value": 2}); 
        $.ajax({ 
          "dataType": 'json', 
          "type": "POST", 
          "url": sSource, 
          "data": aoData, 
          "success": function(result){ 
           if (result.iTotalRecords == 0) { 
             $("#datatable_unit_users").hide(); 
           } else { 
             $("#datatable_unit_users").show(); 
             fnCallback(result) 
           } 
          } 

        }); 
      }, 
      ... 
    )}; 

: 당신이 당신의 아약스 요청에 대한 데이터를 게시해야하는 경우

은 아래의 코드를 사용할 수 있습니다.

희망 하시겠습니까?

관련 문제