本文目錄一覽:
- 1、如何用PHP實現select二級聯動,根據第一個下拉框選擇的內容來選擇第二個下拉框的內容
- 2、thinkphp的二級聯動
- 3、PHP如何循環多個二級聯動
- 4、thinkphp或php select二級聯動
如何用PHP實現select二級聯動,根據第一個下拉框選擇的內容來選擇第二個下拉框的內容
給第一個select加js事件,點擊它的時候動態載入第二個select的內容,比如寫個ajax獲取第一個select的value(這個value是哪個quanx_id),然後去後台請求,後無論是用緩存還是說直接從資料庫中查,得到這個value對應的field,再返回數據到前台進行處理。也可以在頁面載入的時候就直接吧每個quanx_id的對應關係全部查找並在模板中的js用相應變數存儲後,再採用上面的思路去動態載入就是了。反正最終都是當select1的value發生變化,動態載入select2的value.
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如何循環多個二級聯動
JAVASCRIPT就可以寫了 你把JAVASCRIPT追加到PHP代碼裡面就OK另外
具體 代碼
head
script language=”javascript” type=”text/javascript”
var 後盾網=Array(“後盾IT教育”,”後盾網php培訓”,”朝陽”,”孫河”);
var 後盾網=Array(“php培訓”,”IT教育”);
var 其餘地方=Array(“國外”,”未知地址”);
function change()
{
shengList=document.getElementById(“sheng”);
nIndex=shengList.selectedIndex;
cityList=document.getElementById(“city”);
switch(nIndex)
{
case 1:
doChange(cityList,北京);
break;
case 2:
doChange(cityList,朝陽);
break;
case 3:
doChange(cityList,其餘地方);
break;
default:
cityList.options.length=1;
cityList.options[0].text=”–請選擇–“;
break;
}
}
function doChange(myList,MyItem)
{
var iLength=MyItem.length;
myList.options.length=iLength;
for(var i=0;iiLength;i++)
{
myList.options[i].text=MyItem[i];
}
}
/script
/head
body
select name=”sheng” onchange=”change()”
option value=”chooseSheng”請選擇/option
option value=”北京”朝陽/option
option value=”後盾網”php培訓/option
option value=”其他地方”其他地方/option
/select
select name=”city”option value=”chooseCity” selected=”selected”請選擇/option/select/td
thinkphp或php select二級聯動
12345678910phpfunction ajax_get_b(){ $aid = $_GET[‘aid’]; if( ! $aid ) return false; $res = array();獲取二級數據//”select * from table where aid = {$aid}” $str = “select”; foreach($res as $v) $str .= “option$v[‘name’]/option”; $str .= “/select”; }1html+jquery:
select
id=”sa”
optiona/option
optionb/option
optionc/option
optiond/option
/select
div
id=”sb”
/div
$(‘#sa’).change(function(){
var
url
=
”;
var
aid
=
$(this).val();
$.get(url,{aid:aid},function(str){
$(‘#sb’).html(str);
});
});
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/152196.html