2016-12-03 59 views
0

所以我真的很掙扎讓jsGrid和我的Django站點一起運行,特別是使用控制器從ajax請求中加載表中的數據。它不工作,所以我設置了這個非常基本的配置,只是爲了看看我的控制器中loadData函數發生了什麼。使用下面的配置,在控制檯中打印的唯一東西是「In Script」。所以它顯然不會在控制器中調用loadData。也許這個簡單的「測試」配置也不正確。請問我在這裏錯過了什麼?它必須是愚蠢的東西。jsGrid loadData沒有被調用

{% extends 'layouts/layout_1.html' %} 

{% block title %}Demos{% endblock %} 

{% block content%} 

<div id="demos-js-grid"></div> 

{% endblock %} 

{% block other_js %} 

<script> 

$(document).ready(function() { 

    console.log("In Script.") 
    $("#demos-js-grid").jsGrid({ 

     onDataLoading: function(args) { 
      console.log("On Data loading.") 
     }, 

     width: "100%", 
     height: "100%", 

     inserting: true, 
     editing: true, 
     sorting: true, 

     autoLoad: true, 

     controller: { 
      loadData: function(filter) { 
       console.log("loadData being called.."); 
      }, 
      insertItem: function(item) { 
       console.log("insertItem being called..") 
      }, 
      updateItem: function(item) { 
       console.log("updateItem being called..") 
      }, 
      deleteItem: function(item) { 
       console.log("deleteItem being called..") 
      } 
     }, 

     fields: [ 
      { name: "Client Status", type: "text", width: 50 }, 
      { name: "Bee Status", type: "text", width: 50 }, 
      { name: "Store Status", type: "text", width: 50 }, 
      { name: "Region", type: "text", width: 100 }, 
      { name: "Chain", type: "text", width: 100 }, 
      { name: "Store", type: "text", width: 150 }, 
     ] 
    }); 
}) 


</script> 

{% endblock%} 
+0

您是否希望您擁有帶該id的頁面上的'div'元素,並且'script'塊在這個元素之後? – tabalin

+0

您幾乎可以肯定需要將整個事件包裝在jQuery'$(function(){...})中,以確保它只在DOM準備就緒時運行。 –

+0

那麼很可能這是當你初始化網格時沒有div的問題。所以最好遵循@ DanielRoseman的建議。 – tabalin

回答

0

選項應該是autoload: true,而不是autoLoad

實際上,由於自動加載未激活,網格未加載,但您仍然可以自己加載它調用loadData方法。