2012-03-21 40 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

我寫了一個Python/Django的包裝器的數據表,這裏https://github.com/eire1130/Django_datatables也許這可以幫助。我會盡力在今晚稍後看你的問題,雖然 – 2012-03-21 23:06:50

+0

嘿詹姆斯,這看起來很有趣,但它不能解決我的問題。如果它解決了我的問題,我肯定會考慮這樣的事情。謝謝! – rh0dium 2012-03-22 12:34:55

回答

1

這是我會做:

我會創造另一個JavaScript對象作爲上#id_customer監聽器,配置它這樣,如果DOM的變化,它會調用數據表(或相應的功能)。

從那裏,爲了獲得要傳遞給服務器的數據,請使用「fnServerParams」,並從DOM中提取想要傳遞的值。

文檔是在這裏的變量,以及實例:

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

一旦你通過沿,則需要抓住它在服務器端(而不是在網址,你不應該在這裏不需要添加額外的參數。)只要在request.GET中查找「fnServerParams」即可。

(出於什麼它的價值,你可以用django_datables解決此問題)

+0

是的 - 我得到了大部分,但它很醜 - 見上文。沒有任何數量的fnServerParams – rh0dium 2012-03-22 16:30:17