将.html与JQuery一起使用,不会将数组中的所有项发布到html
Using .html with JQuery not posting all items in an array to HTML
我使用Ajax调用将一些模板数据发布到JQuery的HTML视图中。
但是,当我将数组馈送到下面的函数时,它只在HTML/视图中打印出数组中的一个项。
Ajax调用:
request = $.ajax({
url: "/fans/follow",
type: "post", success:function(data){
var results = data;
$.each(results, function( index, value ) {
var template = '<li>'
+'<div class="row-fluid">'
+'<article class="span3">'
+'<a href="/fans/"'+value.fan_tag+'>'
+'<img src="https://graph.facebook.com/'+value.fbid+'/picture" alt="" height="40" width="40">'
+'</a>'
+'</article>'
+'<article class="span9 userDescp">'
+'<span>'
+'<a href="/fans/"'+value.fan_tag+'>'
+value.first_name+' '+value.last_name
+'</a>'
+'</span>'
+'</article>'
+'</div>'
+'</li>';
$('div#new_content').find('ul').html(template);
});
},
data: {'id': id} ,beforeSend: function(data){
console.log(data);
}
});
应该打印模板的HTML:
<div id="new_content">
<ul></ul>
</div>
在控制台中查看,ajax正确地返回了数组,但它并没有打印所有项目,只打印第一个项目。我也检查过,每个循环的循环次数与数组中的项目数量一样多,所以这不是问题所在。我缺了什么吗?
这是因为您正在覆盖循环中的内容
request = $.ajax({
url: "/fans/follow",
type: "post",
success: function (data) {
var results = data,
//cache a reference and emtpy the ul
$ul = $('#new_content').find('ul').empty();
$.each(results, function (index, value) {
var template = '<li>' + '<div class="row-fluid">' + '<article class="span3">' + '<a href="/fans/"' + value.fan_tag + '>' + '<img src="https://graph.facebook.com/' + value.fbid + '/picture" alt="" height="40" width="40">' + '</a>' + '</article>' + '<article class="span9 userDescp">' + '<span>' + '<a href="/fans/"' + value.fan_tag + '>' + value.first_name + ' ' + value.last_name + '</a>' + '</span>' + '</article>' + '</div>' + '</li>';
//add the template to the existing contents instead of overwriting it
$ul.append(template);
});
},
data: {
'id': id
},
beforeSend: function (data) {
console.log(data);
}
});
相关文章:
- 如何将具有相同功能的两个select html标签的两个JS组合在一起
- 将HTML文件中的变量与外部JS文件一起使用
- 我的HTML、CSS和Javascript应该放在一起还是分开
- 为什么 HTML 中的 Value 属性在与 AngularJS 中的 ng-model 一起使用时不起作用
- 加载 HTML 模板以通过浏览器与挖空组件一起使用
- 如何将html中select选项的输入与javascript一起使用
- HTML/Javascript/CSS框堆叠在一起
- 如何将动态html与注入角度引导popover的指令一起使用
- 将 Jquery 与 html 一起使用
- 如何在使用 Flask 后端时将图像和资产与 HTML 一起使用
- 将Dart与HTML一起使用(我可以在Javascript中做的事情)
- 将 Jquery 与 php 和 html 一起使用
- Django-将JSON数据和HTML一起传递到前端不起作用
- 当与.html一起使用时,.hooper不起作用
- 如何使javascript与使用ajax加载的html一起工作
- 上下文菜单不能与Javascript生成的HTML一起工作
- 在添加类的情况下,CSS 3的过渡是否不能与模板元素(HTML 5)一起工作?
- Ng-click不能与ng-bind-html一起使用
- Angularjs - form ng-submit不能与动态生成的form html一起工作
- Jquery UI datepicker不能与动态html一起工作