php怎么实现选择了分类,子分类才能出现对应的内容。最好是 thinkphp。谢谢

 我来答
百度网友4c69616
2016-09-07 · TA获得超过120个赞
知道小有建树答主
回答量:228
采纳率:50%
帮助的人:182万
展开全部
thinkphp jquery与ajax实现省市县三级联动菜单

本示例以省市区三级联动菜单为例:
实现步骤:
第一:先默认从数据库中读取所有的省份。
第二:通过jquery中的change事件,当省份的内容发生改变时,执行change事件,
通过jquery 获得被选中的省份的value值,再后通过异步加载数据。
第三:与第二步相似,当用户选择城市时,会触发change事件,通过jquery 获得被选中的城市的value值,再次进行异步加载数据。

具体示例代码如下:
RecruitmentAction.class.php
<?php
class RecruitmentAction extends Action{
public function chacity(){
$code=I('post.code');
$city=M('city')->where(array('provincecode'=>$code))->select();
echo "<option value='-1'>请选择城市</option>";
if($city){
foreach($city as $c){
echo "<option value=".$c['code'].">".$c['name']."</option>";
}
}
}
public function chaarea(){
$code=I('post.code');
$area=M('area')->where(array('citycode'=>$code))->select();
echo "<option value='-1'>请选择区</option>";

if($area){
foreach($area as $a){
echo "<option value=".$a['code'].">".$a['name']."</option>";
}
}
}
public function chacitydefault(){
$code=I('post.code');
$city=M('city')->where(array('provincecode'=>$code))->select();
if($city){
foreach($city as $c){
echo "<option value=".$c['code'].">".$c['name']."</option>";
}
}
}
public function chaareadefault(){
$code=I('post.code');
$area=M('area')->where(array('citycode'=>$code))->select();
if($area){
foreach($area as $a){
echo "<option value=".$a['code'].">".$a['name']."</option>";
}
}
}
?>

sendrecruitment.php
<html>
<head>
<meta charset="utf-8"/>
<title>省市县三级联动菜单</tilte>
<scirpt src="libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>
<script>
$(function(){
$('#sheng').change(function(){
var code=$('#sheng option:selected').val();
$.post('__URL__/chacity',{'code':code},function(data){
$('#city').html(data);
})
})
$('#city').change(function(){
var code=$('#city option:selected').val();
$.post('__URL__/chaarea',{'code':code},function(data){
$('#area').html(data);
})
})
var code=$('#sheng option').eq(0).val();
$.post('__URL__/chacitydefault',{'code':code},function(data){
$('#city').html(data);
})
var areacode=110100;
$.post('__URL__/chaareadefault',{'code':areacode},function(data){
$('#area').html(data);
})
})
</script>
</head>
<body>
<?php
$m=M('province');
$p=$m->order('id asc')->select();
?>
<!-- <input type="text" name="jobplace" value="" />
--> <select name="job_province" id="sheng" style="width:100px;">
<?php
if($p){
foreach($p as $v){
?>
<option value="<?php echo $v['code'];?>"><?php echo $v['name'];?></option>
<?php
}
}
?>
</select>
<select name="job_city" id="city" style="width:100px;"></select>
<select name="job_area" id="area" style="width:100px;"></select>
</body>
</html>

注:本示例中,控制器部分:chacitydefault(),chaareadefault()方法是为了默认页面加载时,执行一次,让省,市,与区进行显示。
这是我以前学习时找的的一个DEMO 你可以参考一下

就该对你有用
希望能够帮到你
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式