本文目錄一覽:
PHP二級下拉框聯動
這要後端配合, 代碼寫出來太多了.
流程:
選擇學院名稱
向後台發起請求, 把學院名稱發送到後台
後台根據學院名稱 查找專業
前端顯示
thinkphp的二級聯動
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();
}
}
如何用PHP實現select二級聯動,根據第一個下拉框選擇的內容來選擇第二個下拉框的內容
給第一個select加js事件,點擊它的時候動態加載第二個select的內容,比如寫個ajax獲取第一個select的value(這個value是哪個quanx_id),然後去後台請求,後無論是用緩存還是說直接從數據庫中查,得到這個value對應的field,再返回數據到前台進行處理。也可以在頁面加載的時候就直接吧每個quanx_id的對應關係全部查找並在模板中的js用相應變量存儲後,再採用上面的思路去動態加載就是了。反正最終都是當select1的value發生變化,動態加載select2的value.
原創文章,作者:TC9EG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130747.html