我是PHP新手,请教大哥们提供个n级联动下拉框,与2级联动多选项下拉框

anuoduozi_anuoduozi 2006-07-27 09:48:32
在网上找了N多例子,大部分都是用javascript的,但不知道要如何从数据库里面导出数据
请大哥们帮帮忙,下拉框的选项能够从MYSQL数据里导出的
...全文
442 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjmood 2006-08-12
  • 打赏
  • 举报
回复
mark
  • 打赏
  • 举报
回复
另外如何限制选定的项最多可加n个
例如:最多可加三个选项,请高手们指点
中国 广东 东莞
中国 广东 深圳
中国 广东 广州
  • 打赏
  • 举报
回复
联动下拉已解决,用xajax的,但不知如何提交多个联动下拉值,例如:
中国 广东 东莞
中国 广东 深圳
中国 广东 广州

请高手们指点点,
以下是联动下拉的代码:
<?php
require ('./xajax/xajax.inc.php');
function getChainingSelects($dropDownList, $parentID)
{
$objResponse = new xajaxResponse();
mysql_connect("localhost", "root", "");
mysql_select_db("coowill");
$sql = sprintf("SELECT * FROM `Area` WHERE `Parentid` = %d ORDER BY 1 ASC", $parentID);
$rows = mysql_query($sql);
$objResponse->addScript(sprintf("clearOptions('%s');", $dropDownList));
while($row = mysql_fetch_array($rows))
{
$script = sprintf("addOption('%s', '%s', '%s', '%s');", $dropDownList, $row["Name"], $row["Name"], $row["ID"]);
$objResponse->addScript($script);
}
return $objResponse;
}

$xajax = new xajax();

$xajax->registerFunction("getChainingSelects");

$xajax->processRequests();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>xajax example</title>
<?php $xajax->printJavascript('./xajax/'); ?>

<script type="text/javascript">
//清空所有项目
function clearOptions(selectId)
{
var select = document.getElementById(selectId);
for(var i=select.options.length-1;i>=0;i--)
{
select.options[i] = null;
}

select.options.add(new Option("<请选择>"));
}

function addOption(selectId,optionId,txt,val)
{
var objOption = new Option(txt,val);
objOption.id = optionId;
document.getElementById(selectId).options.add(objOption);
}

function _js_selectArea()
{
var selectArea = document.getElementById("selectArea");
var country = document.getElementById("country");
var province = document.getElementById("province");
var city = document.getElementById("city");
var option = new Option(country.options[country.selectedIndex].text + " "
+ province.options[province.selectedIndex].text + " "
+ city.options[city.selectedIndex].text);
selectArea.options.add(option);
}
</script>

</head>
<script>
//window.onload = "clearOptions('province');xajax_getChainingSelects('province', 1);"
window.onload=function()
{
clearOptions('province');xajax_getChainingSelects('province', 1);
//window.alert("");
}
</script>
<body >
<div style="border:solid 1px red; width:350px;">
<form name="mainform" action="phpinfo.php">


<select id="province" name="province" onChange="xajax_getChainingSelects('city', this.options[this.selectedIndex].value);">
</select>

<select id="city" name="city">
</select>
</div>

<div>
<input type="button" value="=>" onClick="_js_selectArea();" />
</div>

<div>
<select id="selectArea" name="selectArea" size="4" style="width:350px;" onDblClick="window.alert('dbClick');">
</select>
</div>

<input type="submit" value="提交" />
</form>
<script type="text/javascript">
xajax_getChainingSelects('country', 0);
</script>
</body>
</html>
mangshuo 2006-07-29
  • 打赏
  • 举报
回复
我有一种思路,不知道是不是会笨一些,你说网上是用Javascript做的,你是要和数据库联系.
你可以这样做.当在更改数据库的时候就把相应的javascript里的值更改成新的数据.
这样可以减少访问数据库的次数,而且我想这个N级菜单也不会每一分钟修改一次的吧.
xuenping 2006-07-29
  • 打赏
  • 举报
回复
拍拍网上有个5级的

偶后来弄来了

ASP 和 PHP 都做了一个 生成JS文件的

你可以仔细研究PP 的 能找出他们建立的数据库的结构
  • 打赏
  • 举报
回复
呵,谢谢楼上的大哥,我的php用的编码是GB2312,ajax要用utf-8 ,如果用ajax,这样会与ajax冲突吗,
那么能给些 n级联动下拉框的例子吗
  • 打赏
  • 举报
回复
感谢楼上的两位大哥给的思路,但我对ajax不太会,我去研究看看吧,
楼下的高手们继续呀
如果我能自己解决的话,我会把例子发出来的
颓废的老猫 2006-07-28
  • 打赏
  • 举报
回复
n级联动下拉框,与2级联动多选项下拉框 ??

呵呵,听上去蛮复杂的喔

用ajax吧,网上找找相关的资料,应该不难
颓废的老猫 2006-07-28
  • 打赏
  • 举报
回复
楼上正解
lantersen 2006-07-28
  • 打赏
  • 举报
回复
我的php用的编码是GB2312,ajax要用utf-8 ,
如果用ajax,这样会与ajax冲突吗,//应该会的,你可以用PHP来转换
比方说:mb_convert_encoding(); iconv()
lantersen 2006-07-28
  • 打赏
  • 举报
回复
只能给些思路--相信你行的:
0:做好三个<SELECT>,并取好名与ID号
1:产生第一联菜单,当第一联有改变里,响应onchange = yourAjaxFun(this.value);
2:用Ajax去取得数据,动态添加第二联下拉框内容;
3:第二联与第一联一样,去改变第三联的下拉框;
网上找的例子,你看看
http://singlepine.cnblogs.com/archive/2005/10/31/265678.html
  • 打赏
  • 举报
回复
高手们,帮忙啊,分不够再加呀,我在线等着呢

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧