javascript - jsrender问题:获取数据没有被覆盖
本文介绍了javascript - jsrender问题:获取数据没有被覆盖的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
想实现的效果是:在#poorcon这个div里已经加载好最初的前几条数据,然后点击按钮加载接下来的几条数据,第一次点击通过jQuery("#poorcon_more").render("#poorcon_more", { rows: obj }); 这一句,已经将数据存入div#poorcon_more里面了,然后append到div#poorcon中,但是接下来的点击按钮之后,div#poorcon_more里面的内容还是保持原先的数据,没有被覆盖,导致列表显示重复数据。
(后台的sql查询语句已经确保正确)
$(function(){
jQuery.noConflict();
var currentPage = 1;
jQuery.getJSON('mobilegetInfo.aspx?Type=pklbmore¤tPage='+currentPage, function (obj) {
jQuery("#poorcon").render("#poorcon", { rows: obj });
});
jQuery(".refresh").click(function(){
currentPage++;
jQuery.getJSON('mobilegetInfo.aspx?Type=pklbmore¤tPage='+currentPage, function (obj) {
jQuery("#poorcon_more").render("#poorcon_more", { rows: obj });
jQuery("#poorcon").append(jQuery("#poorcon_more").html());
});
})
})
<div class="pp poorcon_more" id="poorcon_more" style="display:none;" >
<!--
<#for(var i=0;i<rows.length;i++){#>
<a href="poordetail.html?id=<#= rows[i].id #>" target="_blank" >
<div class="poorcon1">
<div class="poorimg"><img src="<#= rows[i].url #>" /></div>
<div class="poorinfo">
<p class="host">户主:<#= rows[i].hzxm #></p>
<p class="pos">地区:<#= rows[i].diqu #></p>
<p class="tech"><#= rows[i].zpyysl #></p>
<p><span><#= rows[i].zllb #></span></p>
</div>
</div>
</a>
<#} #>
-->
</div>
解决方案
首先,这个 jQuery(selector).render
中的 render
方法不是 jQuery 标准的 API,你引入什么第三方插件要说清楚,不然压根不知道里边是怎么工作的。
其次,所谓的后台 sql 查询正确,是指你确保后端返回给前端的数据是正确的么?
最后,我猜测,你这种使用 render
的姿势是不正确的。render
很可能是获取 <!-- -->
里边的代码后解析渲染,但是你第一次 render
的时候已经把代码弄成正确的 html 而不是模板了,第二次它取不到模板,自然不会渲染。当然,这些都是猜测。
这篇关于javascript - jsrender问题:获取数据没有被覆盖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文