thinkphp+mysql三级联动下拉菜单

thinkphp+mysql三级联动下拉菜单,第1张

三级联动跟一般写法差不多,利用<select>中的onchange函数 触发ajax,向服务器请求获得省 市 县

<select onchage="get_citys(1)" id='provice'><option value='1'>安徽</option></select>

<select onchage="get_citys(2)" id='city'><option value='11'>合肥</option></select>

<select ><option value='111' id='xian'>肥东</option></select>

在js中写入

<script>

function get_citys(id){  //id 为1表示获取城市  为2表示获取县

$.ajax({

url:"/Member/get_city/id/"+id+"/cityid"+$("#provice

").val(),

      dataType: 'html',

success: function(data){

if(id == 1){

 $("#city").html(data)

}else if(id == 2){

     $("#xian").html(data)

}

}

})

 }

</script>

<?php ....PHP端自己从表中获取数据就可以了。?>

比如你有一个城市表 city,有字段id和city_name, 代码如下:

<?php

$sql = 'select * from city'

$res = mysql_query($sql)

$cities = array()

while ($row = mysql_fetch_assoc($res) )

{

$cities[$row['id']] = $row['name']

}

?>

<select name="PubForm[city]" class="sgselect scate" id="city">

<option selected="selected" value="">-- 请选择城市 --</option>

<?php foreach ( $cities as $id=>$city ) { ?>

<option value="<?php echo $id?>"><?php echo $city?></option>

</select>

原理就是从mysql查询出所有城市的数据并弄成一个数组$cities ,然后循环$cities,按照下拉表单的格式输出option选项就好了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7301053.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存