三级联动跟一般写法差不多,利用<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选项就好了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)