php thinkphp 实现二级联动 三级联动 四级联动 多级联动 附件带数据库 带选中。
如果不妥地方 欢迎指导,共同学习和进步。
分享是种美德。
页面:<script></script>
<script>//设置默认,页面加载时恢复默认选项。<br />
function region_default() {<br />
$("option[value='-1']").attr('selected', 'selected');<br />
}<br />
function setregion(num, address_id) {<br />
var next = num + 1;<br />
$.ajax({<br />
type: 'POST',<br />
//设置json格式,接收返回数组。<br />
dataType: 'json',<br />
url: '',<br />
//ajax传递当前选项的value值,也就是当前的region_id。<br />
data: 'region_id=' + $('#region_' + num + '_' + address_id).val(),<br />
success: function(msg) {<br />
//如果返回值不为空则执行。<br />
if (msg != null) {<br />
var option_str = '';<br />
//循环书写下一个select中要添加的内容。并添加name标记。<br />
for (var i = 0; i < msg.length; i++) {<br />
option_str+='<option name="region_'+next+'"value="'+msg[i].id+'">'+msg[i].title+'';<br />
}<br />
//删除下一个select中标记name为next的内容。<br />
$("option[name='region_" + next + "']").remove();<br />
//向下一个select中添加书写好的内容。<br />
$('#region_' + next + '_' + address_id).append(option_str);<br />
} else {<br />
//如果返回值为空,则移除所有带标记的option,恢复默认选项。<br />
for (var i = next; i <= 4; i++) {<br />
$("option[name='region_" + i + "']").remove();<br />
}<br />
}<br />
}<br />
<br />
})<br />
}<br />
</script>
控制器: /**
* [labindex 多级联动]
* @return [type] [description]
*/
public function labindex(){
//实验室地域
$d=D('LabTypeRegion');
if(IS_POST){
if($_POST['region_id']){
$region_id = $_POST['region_id'];
$condition['pid'] = $region_id;
$list = $d->where($condition)->select();
// echo json_encode($list);
$this->ajaxReturn($list);
}
}else{
$condition['pid'] = array('neq',0);
$condition['level'] = 1;
$list = $d->where($condition)->select();
$this->assign('list',$list);
}
//实验室地域
$this->display();
}
多级联动.zip
( 3.31 KB 下载:8 次 )