下面我们使用Jquery和ajax在省市县之间进行三级联动:
下面是我的三级联动下拉的步骤和逻辑
第一步:先做一个省市表单第二步:创建一个php页面显示。我在正文中放了div接收要显示的省市区表单信息,并嵌入了jquery-1.11.2.min.js和自己封装的三重移动省市区的方法第三步:用js编写封装方法第四步:制作一个纯PHP的处理页面,处理任何传输的代码
首先,我们需要建立一个数据库:
这是包含省市县的数据库。
下面我们将写主页面:sanji.php:
!doctype html html lang=' en ' head meta charset=' UTF-8 '/title document/title script src=' http : jquery-1 . 11 . 2 . min . js '/script script src=' http : sanji liandong . js '/script/head dy div id=' sanji liandong '!-在这里使用三级链接插件-/div/body/html,然后是js文件:
//javascriptdocument $(文档)。ready(函数(e){//在div中下拉三次。var str=' select id=' sheng '/selectselect id=' Shi '/selectselect id=' qu '/select;$(' #三连东')。html(字符串);//三个下拉显示//选择省后,城市也会发生变化。市、区将再次加载fill sheng();//保存FillShi();//城市fill qu();//区域//点击事件$ ('# sheng ')。change(function(){ fill Shi();//城市fill qu();//区})//添加点击事件$ ('# shi ')。change(function(){ fill qu();//面积})});//做三种方法:省、市//填写省份。如何找出表中省份的编码,例如:北京0001,天津0001,中国以下所有省份都以0001开头。函数fill sheng(){ var pcode=' 0001 ';$.Ajax ({async: false,URL :' chuli.php ',data: {pcode:pcode},type3360' post ',datatype 3360' text ',success3360函数(data) {//)返回数据。根据行与行之间的分隔符,反汇编后会返回一个数组/行的数组var hang=data . split(' | ');变量字符串='选项值=' '请选择一个区域/选项';//遍历行数组并用于循环.长度长度为(var I=0;ihang.lengthI) {//去掉行的索引I,然后去掉列间的分隔符。var lie=hang [I]。拆分(“”);//这是一个列数组str=' option value=' ' lie[0]' ' lie[1]'/option ';$('#sheng ')。html(字符串);} } });}//Function fill Shi(){ var pcode=$(' # sheng ')。val();$.ajax({ async:false,//**** url:'chuli.php '、data:{pcode:pcode}、type:'POST '、dataType:'TEXT '、Success3360函数(data){//返回数据,数据根据行与行之间的分隔符进行拆分。拆分后,将返回数组/行的数组var hang=data.split('| ')。Var str='选项值=' '请选择一个城市/选项';//遍历行数组并用于循环.长度长度为(var I=0;ihang.lengthI) {//去掉行的索引I,然后去掉列间的分隔符。var lie=hang [I]。拆分(“”);//这是一个列数组str=' option value=' ' lie[0]' ' lie[1]'/option ';} $('#shi ')。html(字符串);} });}//Function fill qu(){ var pcode=$(' # Shi ')。val();$.Ajax ({async: false,URL :' chuli.php ',data: {pcode:pcode},type3360' post ',datatype 3360' text ',success3360函数(data) {//)返回数据。根据行与行之间的分隔符,反汇编后会返回一个数组/行的数组var hang=data . split(' | ');变量字符串='选项值=' '请选择一个乡镇/选项';//遍历行数组并用于循环.长度长度为(var I=0;ihang.lengthI) {//去掉行的索引I,然后去掉列间的分隔符。var lie=hang [I]。拆分(“”);//这是一个列数组str=' option value=' ' lie[0]' ' lie[1]'/option ';$('#qu ')。html(字符串);} } });}后面是用于查询数据库的处理文件:
?php //处理页面只有一个功能来处理所有传输的代码(省、市、区。)包括(' DBDA . class . PHP ');$db=新DBDA();$ pcode=$ _ POST[' pcode '];//获取分配代码$ SQL='选择*来自中国各州,其中父区号=' { $ pcode }echo $ db-StrQuery($ SQL);显示效果如下:
这是省市县三级联动。这里强调一下,一定要做好逻辑关系,想好了再写代码,否则会混淆视听,只能从头开始。
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。