ThinkPHP ajax 二级联动菜单
自己写的一个ThinkPHPajax二级菜单联动,写的不好,希望大家改进改进
IndexContr.class.php
class IndexAction extends Action { public function index(){ $db = M("Sort"); if(IS_POST){ if($_POST["two"] == ""){ $sort = $_POST["sort_id"]; }else{ $sort = $_POST["two"]; } var_dump($sort); die; }else{ $list = $db -> where("aid = 0") -> select(); $this -> assign("list",$list); $this -> display(); } } public function sortlist(){ $db = M("Sort"); $data = array(); $data = $db -> where("aid=%d",$_POST["aid"]) -> select(); $this -> ajaxReturn($data); } }
模板文件的html代码
<html> <head> <script type="text/javascript" src="__PUBLIC__/js/jquery-1.9.1.min.js"></script> </head> <body> <div> <form method="post" action=""> <div class="sortlist"> <div style="float:left"> <select name="sort_id" id="one"> <volist name="list" id="v"> <option value="{$v.id}" data="{$v.two_list}">{$v.name}</option> </volist> </select> </div> <div class="hello" style="float:left"></div> <div><input type="submit" value="提交"></div> </div> </form> </div> <script type="text/javascript"> $(function(){ var id = $("#one").val(); $.ajax({ url:"{:U("Index/sortlist")}", type:"POST", cache:false, dataType:"JSON", data:{aid:id}, success:function(data){ if(data == null){ $(".hello").html(""); }else{ var html = ""; html += "<select name="two">"; $.each(data,function(k,v){ html += "<option value=""+v.id+"">"+v.name+"</option>" }) html += "</select>"; $(".hello").html(html); } } }); $("#one").change(function(){ var id = $(this).val(); $.ajax({ url:"{:U("Index/sortlist")}", type:"POST", cache:false, dataType:"JSON", data:{aid:id}, success:function(data){ if(data == null){ $(".hello").html(""); }else{ var html = ""; html += "<select name="two">"; $.each(data,function(k,v){ html += "<option value=""+v.id+"">"+v.name+"</option>" }) html += "</select>"; $(".hello").html(html); } } }); }) }) </script> </body> </html>
希望大家多多指点,谢谢了!
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: php 接口出现跨域问题
- 下一篇: jQuery结合PHP+MySQL实现二级联动下拉列表[实例]