Так что я действительно пытаюсь запустить jsGrid с моего сайта Django, в частности, используя контроллер для загрузки данных в таблицу из запроса ajax. Он не работал, поэтому я установил эту самую базовую конфигурацию, чтобы посмотреть, что происходит с моей функцией loadData в моем контроллере. Используя приведенную ниже конфигурацию, единственное, что печатается на консоли, - «В скрипте». поэтому он явно не вызывает 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%}
У вас есть элемент 'div' на странице с этим id и что блок' script' идет после этого элемента? – tabalin
Вам почти наверняка нужно обернуть все это в jQuery '$ (function() {...})', чтобы убедиться, что он работает только после того, как DOM готов. –
Тогда, скорее всего, это проблема отсутствия div при инициализации сетки. Поэтому лучше следовать рекомендациям DanielRoseman. – tabalin