2012-03-21 8 views
1

私は単一のボタンとデータの集まりを持つデータテーブルを持つ単純なフォームを持っています。ユーザーがいずれかのオプションを選択すると、私はしたいkwargを渡すことによって、データを更新するデータテーブル - データサイズを小さくします選択、の値である。..そのjQueryとDatatables fnServerParamはどんな愛も表示していません:/

私の質問:

方法このクリーナーを作るのにfnServerParamsを使用しますか?

私の基本的な選択。

<div class="span-15 last"><select name="customer" id="id_customer"> 
    <option value="" selected="selected">---------</option> 
    <option value="1">A</option> 
    <option value="2">B</option> 
    <option value="4">C</option> 
</select></div> 

そして対応するjs。

<link rel="stylesheet" href="{{STATIC_URL}}css/datatable.css" /> 
<script type="text/javascript" src="{{STATIC_URL}}js/jquery.dataTables.min.js"></script> 
<script style="text/javascript"> 
    $(document).ready(function() { 

     $('#data_table').dataTable({ 
      'sPaginationType':'full_numbers', 
      'sDom': '<lf><"clear">rt<"bottom"<"tpad"i<"clear"p>>>', 
      "bProcessing": true, 
      "sAjaxSource": "{% url incentive_distribution_homes_ajax_list %}" 
     }); 

     $('#id_customer').change(function() { 
      var builder_id = $(this).val(); 

      //fix this using fnServerParam?? 

      $('#data_table').dataTable({ 
       "bDestroy":true, 
       'sPaginationType':'full_numbers', 
       'sDom': '<lf><"clear">rt<"bottom"<"tpad"i<"clear"p>>>', 
       "bProcessing": true, 
       "sAjaxSource": "{% url incentive_distribution_homes_ajax_list %}", 
       "fnServerData": function (sSource, aoData, fnCallback) { 
        $.ajax({ 
          "dataType": 'json', 
          "type":"GET", 
          "url": sSource, 
          "data" : { 'builder_id': builder_id } , 
          "success": fnCallback 
        }) 
       } 
      }); 
     }); 
+0

私はここhttps://github.com/eire1130/Django_datatables多分それは助けることができる、DataTableのためのPython/Djangoのラッパーを書きました。私は今夜​​あなたの質問を見てみるつもりです –

+0

こんにちはジェームス、これは面白そうに見えますが、それは私の質問に対処していません。私は確かに私の質問に対処すればこのようなものに向かって見ています。ありがとう! – rh0dium

答えて

1

これは私がどうなるのかです:

私はそのようなDOMが変更された場合、それはDataTableのを呼び出す(または該当することを設定し、#id_customerにリスナーとして動作するように、別のjavascriptオブジェクトを作成します

そこから、サーバーに渡すデータを取得するには、 "fnServerParams"を使い、DOMから渡す値を抽出します。

ドキュメントは、その変数にここにいる、などの例:

http://datatables.net/release-datatables/examples/server_side/custom_vars.html

あなたが一緒に、あなたはサーバー側でそれをキャッチする必要があります(ただし、URLで、あなたはshouldnないことを通過したら、そこに追加のパラメータを追加する必要があります。)リクエストで "fnServerParams"を探します。

(と何の価値があるため、これを解決するためにdjango_datablesを使用することができます)

+0

ええ - 私はそれのほとんどを持っていますが、それは醜いです - 上記を参照してください。 fnServerParamsの量はありません – rh0dium

関連する問題