使用django排序呈现的jQuery数据表不起作用
我似乎一点也不能让这张桌子点菜。应用程序正在从Django检索表并成功呈现它。但当我继续并单击表列顶部的箭头时,一个框显示“正在处理”,但没有重新排序。当我以编程方式禁用服务器端时,ajax调用仍然会发生使用django排序呈现的jQuery数据表不起作用,jquery,django,datatables,datatables-1.10,Jquery,Django,Datatables,Datatables 1.10,我似乎一点也不能让这张桌子点菜。应用程序正在从Django检索表并成功呈现它。但当我继续并单击表列顶部的箭头时,一个框显示“正在处理”,但没有重新排序。当我以编程方式禁用服务器端时,ajax调用仍然会发生 $(document).ready( function () { $.fn.dataTable.ext.errMode = 'throw'; var table = $('#{{ grid_id }}').DataTable({
$(document).ready( function () {
$.fn.dataTable.ext.errMode = 'throw';
var table = $('#{{ grid_id }}').DataTable({
"paging": {{paging}}
,"searching": false
,"info": true
,"stateSave": false
,"orderable": true
,"ordering": true
,"processing": true
,"serverSide": true
{% if ajax_url is not None %}
,"ajax": {
/* "type": "POST", */
"url": "{{ ajax_url }}",
"dataSrc": "results",
"data": function (d) {
d.customParam = "custom";
}
}{% endif %}{% if column_list is not None %}
,"columns": [
{% for col in column_list %} { "title":"{{ col.title }}", "data": "{{ col.data }}"
{% if col.href is not None %}, fnCreatedCell: function (nTd, sData, oData, iRow, iCol) { $(nTd).html("<a href='{{col.href}}"+oData.{{ col.href_data_attr }}+"'>"+oData.{{ col.data }}+"</a>");}{% endif %}
},{% endfor %}
]
{% endif %}
});
});
$(文档).ready(函数(){
$.fn.dataTable.ext.errMode='throw';
var table=$('#{{grid_id}}')。数据表({
“分页”:{{paging}
,“搜索”:false
,“信息”:正确
,“stateSave”:false
,“可订购”:true
,“排序”:正确
,“处理”:真
,“服务器端”:true
{%如果ajax\u url不是None%}
“ajax”:{
/*“类型”:“职位”*/
“url”:“{ajax_url}}”,
“dataSrc”:“结果”,
“数据”:功能(d){
d、 customParam=“custom”;
}
}{%endif%}{%if列_列表不是None%}
,“列”:[
{%for列{u list%}{“title”:“{col.title}}”,“data”:“{col.data}”
{%if col.href不是None%},fnCreatedCell:function(nTd、sData、oData、iRow、iCol){$(nTd.html(“”;}{%endif%}
},{%endfor%}
]
{%endif%}
});
});
仅需检查:当使用服务器端处理时,提供排序逻辑(以及分页和筛选逻辑)的是服务器,而不是数据表。您的Django应用程序正在这样做吗?因此,如果我最初从服务器检索数据,是否可以通过将服务器端prop更改为false,将其更改为在后续重新渲染器上使用dataTables排序?好的,一旦DataTable被初始化(没有这样的API调用),您就不能更改DataTable的serverSide
选项。您必须修改表并使用新设置(和新数据)重新初始化它。我确实注意到您在以编程方式禁用服务器端时提到…-你能告诉我你是怎么做的吗?