首页 > php教程 > php手册 > 二级联动 三级联动 四级联动 多级联动

二级联动 三级联动 四级联动 多级联动

WBOY
发布: 2016-09-02 08:42:19
原创
2346 人浏览过

php thinkphp 实现二级联动 三级联动 四级联动 多级联动 附件带数据库 带选中。
如果不妥地方 欢迎指导,共同学习和进步。
分享是种美德。
页面:<script></script><br> <!-- 如果不保持选中状态 可以把 <if></if>标签内容都去掉 --><br> <!-- 每个select是一级 你可以只有两个select 就是二级联动,三个就是三级联动,四个就是四级联动 以此类推 我做了一个四级联动,一个二级联动 正常 --><br> <br> <!-- 地域 --><br> <div> <br>     <label>实验室地域</label><br>   <div> <br>     <select><br>         <option>城市</option> <br>         <volist><br>             <option>selected='selected'>{$vo['title']}</option> <br>         </volist><br>     </select><br>     <select><br>         <option>学校</option> <br>         <!-- 保持上回选中 --><br>         <if><br>           <php><br>               $region2 = D('LabTypeRegion')->where(array('id'=>$row['region2_id']))->getField('title');<br>           </php><br>           <option>{$region2}</option> <br>         </if><br>         <!-- 保持上回选中 --><br>     </select><br>     <select><br>         <option>学院</option> <br>         <!-- 保持上回选中 --><br>         <if><br>           <php><br>               $region3 = D('LabTypeRegion')->where(array('id'=>$row['region3_id']))->getField('title');<br>           </php><br>           <option>{$region3}</option> <br>         </if><br>         <!-- 保持上回选中 --><br>     </select><br>     <select><br>         <option>实验室</option> <br>         <!-- 保持上回选中 --><br>         <if><br>           <php><br>               $region4 = D('LabTypeRegion')->where(array('id'=>$row['region4_id']))->getField('title');<br>           </php><br>           <option>{$region4}</option> <br>         </if><br>         <!-- 保持上回选中 --><br> <br>     </select><br>   </div> <br> </div> <br> <script>//设置默认,页面加载时恢复默认选项。<br /> function region_default() {<br /> $("option[value=&#039;-1&#039;]").attr(&#039;selected&#039;, &#039;selected&#039;);<br /> }<br /> function setregion(num, address_id) {<br /> var next = num + 1;<br /> $.ajax({<br /> type: &#039;POST&#039;,<br /> //设置json格式,接收返回数组。<br /> dataType: &#039;json&#039;,<br /> url: &#039;&#039;,<br /> //ajax传递当前选项的value值,也就是当前的region_id。<br /> data: &#039;region_id=&#039; + $(&#039;#region_&#039; + num + &#039;_&#039; + address_id).val(),<br /> success: function(msg) {<br /> //如果返回值不为空则执行。<br /> if (msg != null) {<br /> var option_str = &#039;&#039;;<br /> //循环书写下一个select中要添加的内容。并添加name标记。<br /> for (var i = 0; i < msg.length; i++) {<br /> option_str+=&#039;<option name="region_&#039;+next+&#039;"value="&#039;+msg[i].id+&#039;">&#039;+msg[i].title+&#039;&#039;;<br /> }<br /> //删除下一个select中标记name为next的内容。<br /> $("option[name=&#039;region_" + next + "&#039;]").remove();<br /> //向下一个select中添加书写好的内容。<br /> $(&#039;#region_&#039; + next + &#039;_&#039; + address_id).append(option_str);<br /> } else {<br /> //如果返回值为空,则移除所有带标记的option,恢复默认选项。<br /> for (var i = next; i <= 4; i++) {<br /> $("option[name=&#039;region_" + i + "&#039;]").remove();<br /> }<br /> }<br /> }<br /> <br /> })<br /> }<br /> </script><br> <!-- 地域 -->控制器:    /**<br>      * [labindex 多级联动]<br>      * @return [type] [description]<br>      */<br>     public function labindex(){<br>         //实验室地域<br>         $d=D('LabTypeRegion');<br>         if(IS_POST){<br>             if($_POST['region_id']){<br>                 $region_id = $_POST['region_id'];<br>                 $condition['pid'] = $region_id;<br>                 $list = $d->where($condition)->select();<br>                 // echo json_encode($list);<br>                 $this->ajaxReturn($list);<br>             }<br>         }else{<br>             $condition['pid'] = array('neq',0);<br>             $condition['level'] = 1;<br>             $list = $d->where($condition)->select();<br>             $this->assign('list',$list);<br> <br>         }<br>         //实验室地域<br> <br>         $this->display();<br>     }

附件 多级联动.zip ( 3.31 KB 下载:8 次 )

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板