thinkphp的二级联动
$(function(){//异步请求$('#bclass').change(function(){alert(console.log(1));//在这alert:测试是...
$(function(){
//异步请求
$('#bclass').change(function(){
alert( console.log(1));
//在这alert:测试是不是触发change事件
alert("test");
var $id=$('#bclass').val();
但是change没有被触发,不知道是什么原因呢 ?
<tr>
<td class="top1">选择分类:</td>
<td class="top2">大类:<select name="bname" id="bclass" ><volist name="list" id='vo'><option value="{$vo.id}" >{$vo.bname}</option></volist></select>
<span class="style1">*</span>
小类:<select name="sname" id="sclass"><option value="" ></option></select>
</td>
</tr> 展开
//异步请求
$('#bclass').change(function(){
alert( console.log(1));
//在这alert:测试是不是触发change事件
alert("test");
var $id=$('#bclass').val();
但是change没有被触发,不知道是什么原因呢 ?
<tr>
<td class="top1">选择分类:</td>
<td class="top2">大类:<select name="bname" id="bclass" ><volist name="list" id='vo'><option value="{$vo.id}" >{$vo.bname}</option></volist></select>
<span class="style1">*</span>
小类:<select name="sname" id="sclass"><option value="" ></option></select>
</td>
</tr> 展开
1个回答
2016-03-23
展开全部
html文件:
liandong.html
首先要引入jquery.js文件
<html>
<title>二级联动</title>
<head>
<script src="__PUBLIC__/scripts/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$('#AreaId').change(function(){
//获取父类的id
var $id=$('#AreaId').val();
//通过ajax进行传值
$.getJSON('__URL__/liandong',{id:$id},function(data){
//回调函数
if (data.status==1){
//首先清除子类中值不为空的,如果没有这句话你会发现子类的显示会这个增加,二不是你想要的结果
$('#ServerId option[value!=""]').remove();
//计算返回数组的数目,并循环显示
for (var i=0;i<=data.data.length;i++) {
//定义html标签,和显示的值,id和type_name为数据库中的字段名
var option ="<option value="+data.data[i].id+">"+data.data[i].type_name+"</option>";
//显示的位置
$(option).appendTo('#ServerId');
}
}
});
});
});
</script>
</head>
<body>
<select id="AreaId" name="AreaId">
<option selected="selected" value="">请选择游戏区</option>
<?php
//循环显示父类
foreach($plei as $val){
?>
<option value="{$val[id]}">{$val[type_name]}</option>
<?php
}
?>
</select>
<select id="ServerId" name="ServerId">
<option selected="selected" value="">请选择游戏服</option>
</select>
</body>
</html>
php文件
IndexAction.class.php
class IndexAction extends Action {
public function liandong(){
//实例化数据表
$type=M('Type');
//首先是查询类别表中的父类,我的是父类的pid都为0
$plei=$type->where('pid=0')->select();
//分配变量
$this->assign("plei",$plei);
//这个主要是判断父类的内容是否发生变化,此判断非常重要(ps:我那会没写这个判断,总是出错,非常头疼)
if($_GET[id]){
$sel=$type->where('pid='.$_GET[id])->select();
$this->ajaxReturn($sel,'子类',1);
}
$this->display();
}
}
liandong.html
首先要引入jquery.js文件
<html>
<title>二级联动</title>
<head>
<script src="__PUBLIC__/scripts/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$('#AreaId').change(function(){
//获取父类的id
var $id=$('#AreaId').val();
//通过ajax进行传值
$.getJSON('__URL__/liandong',{id:$id},function(data){
//回调函数
if (data.status==1){
//首先清除子类中值不为空的,如果没有这句话你会发现子类的显示会这个增加,二不是你想要的结果
$('#ServerId option[value!=""]').remove();
//计算返回数组的数目,并循环显示
for (var i=0;i<=data.data.length;i++) {
//定义html标签,和显示的值,id和type_name为数据库中的字段名
var option ="<option value="+data.data[i].id+">"+data.data[i].type_name+"</option>";
//显示的位置
$(option).appendTo('#ServerId');
}
}
});
});
});
</script>
</head>
<body>
<select id="AreaId" name="AreaId">
<option selected="selected" value="">请选择游戏区</option>
<?php
//循环显示父类
foreach($plei as $val){
?>
<option value="{$val[id]}">{$val[type_name]}</option>
<?php
}
?>
</select>
<select id="ServerId" name="ServerId">
<option selected="selected" value="">请选择游戏服</option>
</select>
</body>
</html>
php文件
IndexAction.class.php
class IndexAction extends Action {
public function liandong(){
//实例化数据表
$type=M('Type');
//首先是查询类别表中的父类,我的是父类的pid都为0
$plei=$type->where('pid=0')->select();
//分配变量
$this->assign("plei",$plei);
//这个主要是判断父类的内容是否发生变化,此判断非常重要(ps:我那会没写这个判断,总是出错,非常头疼)
if($_GET[id]){
$sel=$type->where('pid='.$_GET[id])->select();
$this->ajaxReturn($sel,'子类',1);
}
$this->display();
}
}
追问
那我的为什么子类查询那块没有值出来呢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询