【发布时间】:2013-07-08 13:35:18
【问题描述】:
我正在使用backbone.js 开发一个html5 应用程序。 html 的格式包括列表元素。 li 元素的标签来自网络服务。我正在动态填充li 元素。
我将收集一个集合中的所有标签并发送到 Template。
现在我想在ul元素中动态插入每2个li元素。我该如何实现呢?
我的 html 看起来像
<div class="auto_data">
<li>
<label style="color:white">Name<sup>*</sup></label><input type="text">
</li>
<li>
<label style="color:white">Age<sup>*</sup></label><input type="text">
</li>
<li><label style="color:white">Gender<sup>*</sup></label><input type="text">
</li>
<li>
<label style="color:white">salutation<sup>*</sup></label><input type="text">
</li>
</div>
现在我想为每两个 li 元素插入 ul 元素
<ul>
<li>....</li>
<li>....</li>
</ul>
现在我以我的观点写作 喜欢
_.each(this.questionReferenceCollection.models,function(model){
uiControl=model.get('UIControlType');
if(i==0){
$('.auto_data',self.el).append('<ul>');
}
i++;
$('.auto_data',self.el).append(new questions({
model:model,
controlType:uiControl
}).render().el);/* this will render li template */
if(i==2){
$('.auto_data',self.el).append('</ul>');
i=0;
}
});
但是因为异步调用,
结果
<ul></ul>
<li>...</li>
<li>...</li>
<ul></ul>
<li>...</li>
<li>...</li>
<li>...</li>
我想要
<ul>
<li>..</li>
<li>..</li>
</ul>
请给我建议。
【问题讨论】:
-
你能提供一些代码给我们看看吗?之前的 HTML、您想要添加的数据以及您希望在最后拥有的 HTML 将非常有帮助。您已经尝试过的任何 JS 都会有所帮助。
-
@talemyn 我在上面提供了代码..