这篇文章主要为大家详细介绍了ajax实现列表无限加载和二级下拉选项效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
ajax做列表无限加载和ajax做二级下拉选项,供大家参考,具体内容如下
//栏目ajax做加载
public function ajaxlist(){
//echo "http://www.域名.com/index.php?a=index&c=index&m=ajaxlist";
//echo "<hr>";
$data = q('sum');
$where = array();
$where['cid'] = 33;
$rongyulist = m('content')->limit($data,2)->where($where)->select();
$data['stat'] = 1;
$data = $rongyulist;
$this->ajax($data);
//也可以手动把想要的字段拼接成字符串
/*echo "[";
foreach($rongyulist as $k){
echo "{"."\""."title"."\"".":"."\"".$k['title']."\"".","."\""."description"."\"".":"."\"".$k['description']."\"".","."\""."cid"."\"".":"."\"".$k['cid']."\""."}".",";
}
echo "]";*/
}
具体页面实现:
<script type='text/javascript'>
/*ajax*/
(function(){
//发送数据
var url = "__web__"+"?a=index&c=index&m=ajaxlist";
var osum = '';
$('a.ajaxbut').click(function(){
osum = $('p.zizhilistcontbox>a').size();
$.post(url,{sum:osum},function(result){
console.log(result);
eval("var info="+result);
for(var key in info){
ostr = "<a href='"+"__web__"+"?a=index&c=index&m=content&mid=1&cid=33&aid="+info[key]['aid']+""+"'><h3 class='f100 f16 ts500'>"+info[key]['title']+"</h3><p>"+info[key]['description']+"</p><span class='b parb'></span></a>";
$('p.zizhilistcontbox').append(ostr);
};
});
});
})();
</script>
ajax 做二级选项:
<!-- 示例:html -->
<dl class="pr keshi" >
<dt class="pa">科室:</dt>
<dd class="pa">
<select name='keshi' class='m_keshi'>
<option value='0'>--请选择科室--</option>
</select>
<select name='zhuanjia' class='m_zhuanjia'>
<option>--请选择专家--</option>
</select>
</dd>
</dl>
示例控制器:
//示例控制器
/* ajax请求栏目列表 */
public function ajaxlanmu(){
$lanmulist = m('category')->where('pid=142')->select();
$this->ajax($lanmulist);
}
public function ajaxzhuanjia(){
$where = array();
$data = q('sum');
$data = $data ? $data : 143;
$where['cid'] = $data;
$zhuanjialist = m('guahao')->where($where)->select();
$this->ajax($zhuanjialist);
}
示例:js
<script>
(function(){
var lanmuurl = "__web__"+"?a=index&c=index&m=ajaxlanmu";
var zhuanjiaurl = "__web__"+"?a=index&c=index&m=ajaxzhuanjia";
var osum = ostr = ostr2 = oval = okong = info2 = ocid = '';
/* lanmu */
$.post(lanmuurl,function(result){
eval("var info="+result);
for(var key in info){ostr += "<option value='"+info[key]['catname']+"' cid='"+info[key]['cid']+"'>"+info[key]['catname']+"</option>";};
$('dl.keshi').find('select.m_keshi').append(ostr);
});
/* zhuanjia */
$('dl.keshi').find('select.m_keshi').change(function(){
oval = $(this).find('option:selected').val();
if(oval == 0){
$('dl.zhuanjia').find('select.m_zhuanjia').html("<option>--请选择专家--</option>");
}else{
ocid = $(this).find('option:selected').attr('cid');
$.post(zhuanjiaurl,{sum:ocid},function(result){
eval("info2="+result);
ostr2 = '';//注意这里要清空第一次请求的数据
for(var key2 in info2){
ostr2 += "<option value='"+info2[key2]['title']+"'>"+info2[key2]['title']+"</option>";
};
$('dl.zhuanjia').find('select.m_zhuanjia').html(ostr2);
});
};
});
})();
</script>
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
ajax与跨域jsonp
django 通过ajax完成邮箱用户注册、激活账号的方法
原生ajax的get和post方法使用详解
以上就是ajax实现列表无限加载和二级下拉选项效果的详细内容。