免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7772 | 回复: 6
打印 上一主题 下一主题

[菜单] 动态二级联动下拉列表的取值问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-05 23:27 |只看该作者 |倒序浏览
我有个问题,希望请教各位:
    我有个二级联动下拉列表(select),都是从数据库中取值,其中第二级为可多选列表(multiple).现在问题是表单提交后如何取得多选下拉列表返回的值。

[ 本帖最后由 HonestQiao 于 2006-7-7 13:06 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-07-05 23:38 |只看该作者

问题如上,补充源码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>全动态二级联动下拉列表</title>
</head>
<body>
<?
/***********************************************
** 功  能:PHP+mysql实现二级级联下拉框
** 数据库:数据库名(db_city)、数据表(t_province、t_city)
** 表t_province中字段:id(id编号)、provinceName(省份名)
** 表t_city中的字段:id(id编号)、provinceId(省份ID)、cityName(城市名)
***********************************************/

//****************** 连接选择数据库 ***************
$link = mysql_connect("localhost", "root", "")
        or die("Could not connect : " . mysql_error());
mysql_select_db("db_city") or die("Could not select database");

//******************提取省份信息******************
$sqlSel = "select * from t_province order by id ";
$result = mysql_query($sqlSel) or die("Query failed : " . mysql_error());

$forum_data = array();
while( $row = mysql_fetch_array($result) )
{
        $forum_data[] = $row;
}
//print_r ($forum_data);
mysql_free_result($result);

//**************获取城市信息**************        
$sqlSel2 = "select * from t_city order by provinceId desc";

if( !($result2 = mysql_query($sqlSel2)) )
{
        die('Could not query t_city list');
}

$forum_data2 = array();
while( $row2 = mysql_fetch_array($result2) )
{
        $forum_data2[] = $row2;
}

mysql_free_result($result2);
?>

<!--************ JavaScript处理province--onChange *************-->
<script language = "JavaScript">
var onecount2;
subcat2 = new Array();
<?php
$num2 = count($forum_data2);
?>
onecount2=<?echo $num2;?>;
<?
for($j=0;$j<$num2;$j++)
{
?>
subcat2[<?echo $j;?>] = new Array("<?echo $forum_data2[$j]['id'];?>","<?echo $forum_data2[$j]['provinceId'];?>","<?echo $forum_data2[$j]['cityName'];?>");
<?}?>
function changelocation(id)
{
document.myform.city.length = 0;
var id=id;
var j;
document.myform.city.options[0] = new Option('==选择城市==','');
for (j=0;j < onecount2; j++)
{
  if (subcat2[j][1] == id)
   {
   document.myform.city.options[document.myform.city.length] = new Option(subcat2[j][2], subcat2[j][0]);
   }
}
}
</script>

<!--********************页面表单*************************-->
<form name="myform" method="post">
地址:<select name="bigClass" onChange="changelocation(document.myform.bigClass.options[document.myform.bigClass.selectedIndex].value)" size="1">
<option selected>请选择省份</option>
        
<?php
$num = count($forum_data);

for($i=0;$i<$num;$i++)
{
?>
<option value="<?echo $forum_data[$i]['id'];?>"><?echo $forum_data[$i]['provinceName'];?></option>
<?
}
?>
</select>
<select name="city" multiple>
<option selected value="">==选择城市==</option>
</select>
</form>
</body>
</html>

论坛徽章:
0
3 [报告]
发表于 2006-07-05 23:40 |只看该作者

急!!!没有人能回答我的问题吗?

自己顶一下!
没有人能回答我的问题吗?在线等到3:00的世界杯(法国VS葡萄牙)

论坛徽章:
0
4 [报告]
发表于 2006-07-06 18:10 |只看该作者
<select name="city[]" multiple>

论坛徽章:
0
5 [报告]
发表于 2006-07-06 18:25 |只看该作者
首先,谢谢shimch,我试过l了,要把选择的值放到数组里边,但相应程序的java script部分也要改,请各位帮帮忙

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
6 [报告]
发表于 2006-07-07 13:07 |只看该作者
php啊,phpinfo()看看是否有值

论坛徽章:
0
7 [报告]
发表于 2006-07-08 18:55 |只看该作者

问题已经解决

js的问题还用js来解决,name不用改为name="city[]" ,用个input来存储选取的option,太高兴了!明天程序就可以交货了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP