Javascript 在AJAX中将JSON数据添加到表中
好的,我有一些输入框中的搜索结果。我使用keyup来获得结果。然后将结果发送到AJAX,我想将其附加到表中。我的问题是因为我使用append,如果我有更多的结果,我会得到多个表头,另一方面我不能使用html(),因为脚本使用for循环,所以我只能得到一个结果。有人能帮我解决这个问题吗。我试着这样做Javascript 在AJAX中将JSON数据添加到表中,javascript,php,jquery,json,Javascript,Php,Jquery,Json,好的,我有一些输入框中的搜索结果。我使用keyup来获得结果。然后将结果发送到AJAX,我想将其附加到表中。我的问题是因为我使用append,如果我有更多的结果,我会得到多个表头,另一方面我不能使用html(),因为脚本使用for循环,所以我只能得到一个结果。有人能帮我解决这个问题吗。我试着这样做 $("#search").keyup(function () { var value = $(this).val(); // varijabla iz input polja
$("#search").keyup(function ()
{
var value = $(this).val(); // varijabla iz input polja
// provera za minimalnu duzinu pretrage
if(value.length > 3)
{
$.ajax({
type: "POST",
url: "crud/searching/",
data: { 'var' : value },
dataType: "json",
success: function(response)
{ alert(response);
$('#warning').html(response.msg);;
$('#result').html('');
for(var i=0; i<response.result.length; i++) //petlja za pristup json
{
$('#result').append('<table class="page-list"><thead><tr><th>#</th><th>Naslov</th><th>Autor</th><th>Cena</th><th>Valuta</th></tr><thead><tbody><tr><td>'+ response.result[i].id +'</td><td>'+ response.result[i].naslov +'</td><td>'+ response.result[i].autor +'</td><td>'+ response.result[i].cena +'</td><td>'+ response.result[i].valuta +'</td></tr> </tbody></table> ' );//dodavanje rezultata u div
}
}
})
}
});
$(“#搜索”).keyup(函数()
{
var value=$(this.val();//varijabla iz input polja
//普罗韦拉酒店
如果(value.length>3)
{
$.ajax({
类型:“POST”,
url:“crud/搜索/”,
数据:{'var':值},
数据类型:“json”,
成功:功能(响应)
{警报(响应);
$('#warning').html(response.msg);;
$('#result').html('');
对于(var i=0;i只需创建一次表,然后在循环中将tr
s附加到其tbody
$('#warning').html(response.msg);
if (response.result.length) {
var $table = $('<table class="page-list"><thead><tr><th>#</th><th>Naslov</th><th>Autor</th><th>Cena</th><th>Valuta</th></tr><thead><tbody></tbody></table>').appendTo($('#result').html(''));
var $tbody = $table.find('tbody');
for (var i = 0; i < response.result.length; i++) //petlja za pristup json
{
$tbody.append('<tr><td>' + response.result[i].id + '</td><td>' + response.result[i].naslov + '</td><td>' + response.result[i].autor + '</td><td>' + response.result[i].cena + '</td><td>' + response.result[i].valuta + '</td></tr> '); //dodavanje rezultata u div
}
} else {
$('#result').html('')
}
$('#warning').html(response.msg);
if(响应.结果.长度){
var$table=$('naslovautoscenavaluta').appendTo($('result').html('');
var$tbody=$table.find('tbody');
for(var i=0;i
试试这个:
$("#search").keyup(function ()
{
var value = $(this).val(); // varijabla iz input polja
// provera za minimalnu duzinu pretrage
if(value.length > 3)
{
$.ajax({
type: "POST",
url: "crud/searching/",
data: { 'var' : value },
dataType: "json",
success: function(response)
{ alert(response);
$('#warning').html(response.msg);
// Store jQuery objects if used more than once
var $table = $('<table class="page-list">').appendTo($('#result')),
$thead = $('<thead><tr><th>#</th><th>Naslov</th><th>Autor</th><th>Cena</th><th>Valuta</th></tr><thead>').appendTo($table),
$tbody = $('<tbody>').appendTo($table);
innerHTML = '';
for(var i=0; i<response.result.length; i++) //petlja za pristup json
{
innerHTML += '<tr><td>'+ response.result[i].id +'</td><td>'+ response.result[i].naslov +'</td><td>'+ response.result[i].autor +'</td><td>'+ response.result[i].cena +'</td><td>'+ response.result[i].valuta +'</td></tr>' );//dodavanje rezultata u div
}
// Append to HTML only once, when you have the full HTML to append
$tbody.append(innerHTML);
}
})
}
});
$(“#搜索”).keyup(函数()
{
var value=$(this.val();//varijabla iz input polja
//普罗韦拉酒店
如果(value.length>3)
{
$.ajax({
类型:“POST”,
url:“crud/搜索/”,
数据:{'var':值},
数据类型:“json”,
成功:功能(响应)
{警报(响应);
$('#warning').html(response.msg);
//如果多次使用jQuery对象,则存储jQuery对象
var$table=$('').appendTo($('#结果'),
$thead=$('naslovautoscenavaluta')。附录($table),
$tbody=$('').appendTo($table);
innerHTML='';
for(var i=0;i创建一次表,然后将其附加到新表,而不是#result
。谢谢,先生,效果很好。您再次帮助我!Manny Manny谢谢,您能看看这个问题吗?我不建议在循环中使用jQuery的.append();-)抱歉,但我发现我的代码中存在不必要的行为。如果,我没有任何结果表标题保留。是的,谢谢Arun先生解决我的问题,它与您的代码类似,因此您的