이 글은 목록의 무한 로딩과 보조 드롭다운 옵션을 달성하는 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>
관련 권장 사항:
js 및 jquery를 사용하여 페이지 무제한 로드를 달성하는 방법
Vue 기반 모바일 단말기에서 무제한 로드 및 페이징을 위한 샘플 코드 공유. Node.js를 사용하여 무제한 로딩 및 페이징 기능 개발을 달성하세요
위 내용은 목록의 무한 로딩에 대한 Ajax 구현을 설명하는 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!