看这一篇之前,请先看上一篇,因为他们有关联性 比如要实现这样的效果 ![](https://box.kancloud.cn/a9648fdeb9108ede0ede48fc5c1d7d0f_934x500.jpg) 可以通过下面的代码可以实现 ~~~ {qb:tag name="xxx" type="qun" rows="4"} <div style="border:1px solid #333;margin:20px;"> <div>圈子名称:<a href="{:urls('qun/content/show','id='.$rs.id)}">{$rs.title}</a></div> <div class="qun_member" data-id="{$rs.id}"> <!--圈子相关联的用户,不能实现标签嵌套,所以移到了下面,这里的外层参数qun_member这是标志给JS做处理的,data-id这是标志圈子ID--> </div> </div> {/qb:tag} <div style="display:none;"> <!--圈子关联的用户标签移动这里来了,这也可以说是一个孤岛,要通过JS把数据做处理显示,下面标签内容才是要显示的内容,外层的DIV隐藏起来,是为了不影响页面布局--> <!-- 这里不能使用type=member,因为type=member是全站会员数据,对于圈子会员数据,只能使用下面固定的class 另一个关键之前,就是 union 参数,他对应关联的字段是aid, 这里没用where语句,是因为圈子用户没做where的条件处理,而换用union --> {qb:tag name="member_tpl_001" class="app\qun\model\Member@get_label" union="aid" rows="3" js="xx01"} <li>{$i}、<a href="{:get_url('user','uid='.$rs.uid)}"><img src="{:get_user_icon($rs.uid)}" onerror="this.src='__STATIC__/images/nobody.gif'" width="50">{:get_user_name($rs.uid)}</a></li> {/qb:tag} </div> <script type="text/javascript"> $(".qun_member").each(function(){ var that = $(this); //下面要进行内容赋值使用 var id = $(this).data('id'); //对应圈子的ID var page = 1; //只显示第一页的内容 var url = "{qb:url name='member_tpl_001'}" + page + "&aid=" + id; //这里就是异步显示更多的用法,另一个关键地方就是圈子用户关联圈子的字段是aid $.get(url,function(res){ if(res.code==0){ if(res.data!=''){ that.html(res.data); } } }); }); </script> ~~~