返回信息流☆─────────────────────────────────────☆
GuaiXiaoHai (乖小孩) 于 (Fri Apr 18 22:07:58 2008) 提到:
比如第一个select菜单是“行业选择”
第二个是“职位选择”
不同的行业对应不同的职位。
如何将之关联。
可参照www.zhaopin.com
谢谢~~~
给段代码谢谢~~~
☆─────────────────────────────────────☆
dickfu (潇湘天下|小付寨主) 于 (Sat Apr 19 11:14:46 2008) 提到:
这就是传说中的动态无刷新级联菜单了...
呵呵
【 在 GuaiXiaoHai (乖小孩) 的大作中提到: 】
: 比如第一个select菜单是“行业选择”
: 第二个是“职位选择”
: 不同的行业对应不同的职位。
: ...................
☆─────────────────────────────────────☆
gl2k (欣然|未来IT民工) 于 (Sat Apr 19 19:34:15 2008) 提到:
找本javascript的书吧,这不是php能解决的,你不是说有问题找我嘛,可以发邮件给我嘛
我的理解是你把所有的select都echo出来,用javascript控制他们的display属性。。基本不是三言两语可以解决的,上网搜“动态无刷新级联菜单”应该有不少代码,学学javascript
☆─────────────────────────────────────☆
GuaiXiaoHai (乖小孩) 于 (Sat Apr 19 21:26:47 2008) 提到:
【 在 gl2k 的大作中提到: 】
: 找本javascript的书吧,这不是php能解决的,你不是说有问题找我嘛,可以发邮件给我嘛
: 我的理解是你把所有的select都echo出来,用javascript控制他们的display属性。。基本不是三言两语可以解决的,上网搜“动态无刷新级联菜单”应该有不少代码,学学javascript
呵呵已解决,Thank you~~
顺便把代码贴出来,给大家以后谁用得着参考去:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" c />
<title>无标题文档</title>
</head>
<body>
<?php
$host = "localhost";
$db_name = "test";
$username = "root";
$password = "root";
$conn=mysql_connect($host,$username,$password) or die("不能链接到数据库!");
$db=mysql_select_db($db_name,$conn);
//此处是连接数据库的代码
$query1=mysql_query("select * from news_bclass where id_2 = '0' order by id asc");
$fMenu="";
$fValue="";
while($data1=mysql_fetch_array($query1)){
$fMenu.="\"".$data1[bname]."\",";
$fValue.="\"".$data1[id]."\",";
}
$fMenu=substr($fMenu,0,(strlen($fMenu)-1));
$fMenu="[".$fMenu."]";//*****************************得到var fMenu
$fValue=substr($fValue,0,(strlen($fValue)-1));
$fValue="[".$fValue."]";//*****************************得到var fValue
//得到*****************************var sMenu
$query1=mysql_query("select * from news_bclass where id_2 = '0' order by id asc");
while($data1=mysql_fetch_array($query1)){
$province_id1=$data1[id];
$query2=mysql_query("select * from news_sclass where parentid='$province_id1' order by parentid desc");
while($data2=mysql_fetch_array($query2)){
$num=mysql_num_rows($query2);
$i++;
$sMenu.="\"".$data2[sname]."\",";
if($i==$num){
$sMenu="[".$sMenu."],[";
$i=0;
}
}
}
$sMenu.="]";
$sMenu=str_replace("\",]","\"]",$sMenu);
$sMenu=str_replace(",[]","]",$sMenu);
if((substr($sMenu,0,2))=="[\""){
$sMenu="[".$sMenu;
}else{
$sMenu=preg_replace("/\[{3,}/is","[[\\1",$sMenu);//匹配
}
//得到*****************************var sValue
$query1=mysql_query("select * from news_bclass where id_2 = '0' order by id asc");
while($data1=mysql_fetch_array($query1)){
$province_id=$data1[id];
$sql="select * from news_sclass where parentid='$province_id' order by parentid asc";
// echo $sql;
$query2=mysql_query($sql);
while($data2=mysql_fetch_array($query2)){
$nums=mysql_num_rows($query2);
$j++;
$sValue.="\"".$data2[id]."\",";
if($j==$nums){
$sValue="[".$sValue."],[";
$j=0;
}
}
}
$sValue.="]";
$sValue=str_replace("\",]","\"]",$sValue);
$sValue=str_replace(",[]","]",$sValue);
if((substr($sValue,0,2))=="[\""){
$sValue="[".$sValue;
}else{
$sValue=preg_replace("/\[{3,}/is","[[\\1",$sValue);//匹配
}
?>
<div id="tar"></div>
<SCRIPT LANGUAGE="JavaScript" DEFER>
var fMenu = <?php echo $fMenu; ?>;
var fValue = <?php echo $fValue; ?>;
var sMenu = <?php echo $sMenu; ?>;
var sValue = <?php echo $sValue; ?>;
var oWhere = document.all.tar;
var ofMenu = document.createElement("<SELECT name='bigclass'>");
var osMenu = document.createElement("<SELECT name='smallclass'>");
with(oWhere)appendChild(ofMenu),appendChild(osMenu);
createMainOptions();
createSubOptions(0);
ofMenu.onchange = function() {createSubOptions(this.selectedIndex);};
function createMainOptions() {
for(var i=0;i<fMenu.length;i++)ofMenu.options[i] = new Option(fMenu[i],fValue[i]);
}
function createSubOptions(j) {
with(osMenu) {
length=0;
for(var i=0;i<sMenu[j].length;i++)osMenu.options[i] = new Option(sMenu[j][i],sValue[j][i]);
}
}
</SCRIPT>
<script language="javascript" defer="defer">
</script>
</body>
</html>
这是一条镜像帖。来源:北邮人论坛 / www-technology / #8676同步于 2009/8/30
WWWTechnology机器人发帖
[合集] PHP中select菜单的问题
dickfu
2009/8/30镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。