Ajax实现分级联动

前端之家收集整理的这篇文章主要介绍了Ajax实现分级联动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

用Ajax实现分级联动的例子是比较常用的,此案例用PHP+MysqL+Ajax来实现。首先要导入自己封装好的js文件。然后新建一个html显示文件

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <Meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title>Ajax实现分类联动</title>
  6. <script type="text/javascript" src="public.js"></script>
  7. <script>
  8. window.onload=function(){
  9. createFirst();
  10. $('kindFirst').onchange=createSecond;
  11. };
  12. function createFirst(){
  13. $.get('kind.PHP','cid=0',function(msg){
  14. var length=msg.length; //因为json获取的数据时二维数组
  15. for(var i=0;i<length;i++){
  16. var name=msg[i].name; //获取名字
  17. var id=msg[i].id; //获取ID
  18. var op=new Option(name,id); //一般用在动态生成选择项目
  19. $('kindFirst').options.add(op);//把它加载上去
  20. }
  21. },'json')
  22. }
  23. function createSecond(){
  24. var cid=$('kindFirst').value;
  25. $.get('kind.PHP','cid='+cid,function(msg){
  26. $('kindSecond').length=0;
  27. if($('kindFirst').selectedIndex==0)
  28. return;
  29. var length=msg.length;
  30. for(var i=0;i<length;i++){
  31. var name=msg[i].name;
  32. var id=msg[i].id;
  33. var op=new Option(name,id);
  34. $('kindSecond').options.add(op);
  35. }
  36. },'json');
  37. }
  38.  
  39. </script>
  40. </head>
  41. <body>
  42. <select id="kindFirst">
  43. <option>请选择</option>
  44. </select>
  45.  
  46. <select id="kindSecond">
  47.  
  48. </select>
  49. </body>
  50. </html>


PHP实现获取数据的功能

  1. <?PHP
  2.  
  3. $cid=$_GET['cid'];
  4. $sql="select * from category where cid='$cid' order by id desc";
  5. MysqL_connect('localhost','root','root');
  6. MysqL_select_db('test');
  7. MysqL_query("set names utf8");
  8. $result=MysqL_query($sql);
  9. $num=MysqL_num_rows($result);
  10. $data=array();
  11. for($i=0;$i<$num;$i++){
  12. $row=MysqL_fetch_assoc($result);
  13. $row['name']=iconv('utf-8','utf-8',$row['name']);
  14. $data[]=$row;
  15. }
  16. MysqL_close();
  17. echo json_encode($data);
  18.  
  19.  
  20. ?>

最后实现的效果如下

猜你在找的Ajax相关文章