我正在尝试使用DataTable来显示我的JSON的所有字段,但我不明白如何使用它。
我只需要如何正确填充数据集来读取数据。
<script>
<?php
var jqxhr = $.ajax({url: api_ricerca_ingredienti, type: "GET",dataType: "json", data: {all: 1, ln : "it",completo:"-1",conteggio: 1}} )
var max=json.items.length;
for (i=0;i<max;i++){
var el=json.items[i];
}
$(".risultato_ricerca").click(function() {
carica_ingrediente($(this).attr('data-id'));
});
})
<?php }?>
var dataSet = [
/*HOW?*/
];
$(document).ready(function() {
$('#example').DataTable( {
data: dataSet,
columns: [
{ title: "Nome" },
{ title: "Stato" },
{ title: "Home" },
{ title: "Utente" },
{ title: "Mi piace" },
{ title: "Contributi" }
]
} );
} );
</script>
<table id="example" class="table table-responsive table-hover table-dynamic filter-head"></table>
答案 0 :(得分:1)
首先,关于您的代码的两条评论。
正如@Patrick Q所说,你的PHP标签是没用的:你正在编写Javascript,PHP是另一件与你的代码无关的事情,所以删除^(?=.*[0-9].*)(?=.*[A-Za-z].*)([0-9A-Za-z]\1{3}){8,15}$
和<?php
然后,我无法理解这段代码:
<?php }?>
这对于完全没用。循环遍历for (i=0;i<max;i++){
var el=json.items[i];
}
中的每个元素而不执行任何操作。最后,您只需将最后json.items
存储在json.items
中(甚至不在代码中使用el)。
顺便提一下,你的主要问题是: 如official documentation中所述,您的dataSet必须包含表格中每一行的数组:
el
此示例将创建两个相同的行,其中包含随机数据。
假设你的json中的每个项目都有var dataSet = [
["john","italy","home","john",15,20],
["john","italy","home","john",15,20]
]
个字段,你需要这样的东西:
name country home user likes contribs
答案 1 :(得分:0)
对不起伙计们。我已经截断了我的普通代码。现在,数据阵列的构建就像一个魅力。我对控制台错误表示怀疑: &#34; jquery.dataTables.min.js:5未捕获的TypeError:无法读取属性&#39; aDataSort&#39;未定义&#34;
我无法显示我的行。根据您的意见,问题是什么?
谢谢!
<script>
< ?php
if (isset($_GET) && isset($_GET['id'])){
?>
$( document ).ready(function() {
carica_ingrediente('<?php echo $_GET['id'];?>');
});
<?php }else {?>
$('#query').keypress(function(e) {
if (e.keyCode == $.ui.keyCode.ENTER) {
$('#cerca').click();
}
});
$(document).ready(function() {
var jqxhr = $.ajax({url: api_ricerca_ingredienti, type: "GET",dataType: "json", data: {all: 1, ln : "it",completo:"-1",conteggio: 1}} )
.done(function(json) {
if (json.res==0){
alert( "Inserisci una parola per iniziare la ricerca " );
return;
}
var dataSet = [];
for (i=0;i<json.items.length;i++){
var el = [json.items[i].nome,json.items[i].completo, json.items[i].home, json.items[i].utente, json.items[i].likes, json.items[i].countingredienti];
dataSet[i] = el;
console.log(el);
}
$(".risultato_ricerca").click(function() {
carica_ingrediente($(this).attr('data-id'));
});
$(document).ready(function() {
$('#example').DataTable( {
data: dataSet,
columns: [
{ title: "Nome" },
{ title: "Stato" },
{ title: "Home" },
{ title: "Utente" },
{ title: "Mi piace" },
{ title: "Contributi" }
]
} );
} );
})
.fail(function() {
alert( "error" );
});
});
<?php }?>
</script>