PHP关于下拉列表框回显

garylai 2007-06-25 05:16:53
如:添加页面
<select name="sex" id="sex">
<option value="">select</option>
<option value="女"> 女 </option>
<option value="男"> 男 </option>
</select>
选则男的话,如何在新的页面中将男回显示出来呢?
...全文
751 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxq4100798 2007-06-29
  • 打赏
  • 举报
回复
二级,先加一个PHP 循环
如<select name="小类">
<?php
foreach($small_class_lists as $small_class_info)
{
$sel = "";
if($small_class_info[big_Id]==$big_Id)
{

if($small_Id == $small_class_info[Id])
{
$sel = "selected";
}
?>
<option value="xxx" <?=$sel?>></option
<?php
}
}
?>
garylai 2007-06-29
  • 打赏
  • 举报
回复
我是怎么做的:
我用下面代码来设计二级联动的下拉菜单,当我把菜单提交后,希望菜单的选项仍然显示为用户的选择。在一级菜单里我使用了你说的方法的确回显了,可是二级菜单不是相应的选项。例如我选择了北京然后提交,返回的一级菜单里显示的是北京,可是二级菜单不可选,显示“请选择城市”,没有相应的下来选项。如何解决这个问题呢?还有,如何实现二级菜单的回显呢?。十分感谢大家的帮助!
这是我的部分代码:
<select size="1" name="province" style="width:80px;"
onchange="mark_change(this.options[this.selectedIndex].value,this.form.city)">
<OPTION value="" > 请选择省 </OPTION>
<OPTION value=1000000 <?if($_GET[province]==1000000)echo 'selected'?>>北京</OPTION>
<OPTION value=2000000 <?if($_GET[province]==2000000)echo 'selected'?>>上海</OPTION>
</select>
<select size="1" name="city" style="width:80px;">
<option value="">请选择城市</option></select></td>

<script language="JavaScript">
function trimOptions(dd,cnt){
while(dd.options.length>cnt)
dd.options[cnt]=null;
}

function setOption(dd,ndx,txt,vl,def) {
dd.options[ndx] = new Option(txt,vl);
}

function mark_change(mark,mdl) {
var total = mdl.length;
for (j=1;j<=total;j++) {
trimOptions(mdl,j);
}

if(mark==1000000){
setOption(mdl,1,'海淀','1100002');
setOption(mdl,2,'东城','1100003');
setOption(mdl,3,'西城','1100004');
setOption(mdl,4,'崇文','1100005');
setOption(mdl,5,'宣武','1100006');
setOption(mdl,6,'朝阳','1100007');
setOption(mdl,7,'丰台','1100008');
setOption(mdl,8,'石景山','1100009');
setOption(mdl,9,'门头沟','1100010');
setOption(mdl,10,'房山','1102400');
setOption(mdl,11,'通州','1101100');
setOption(mdl,12,'昌平','1102200');
setOption(mdl,13,'大兴','1102600');
setOption(mdl,14,'密云','1101500');
setOption(mdl,15,'延庆','1102100');
setOption(mdl,16,'顺义','1101300');
setOption(mdl,17,'怀柔','1101400');
setOption(mdl,18,'平谷','1101200');
setOption(mdl,19,'其他','1000001');
}
if(mark==2000000){
setOption(mdl,1,'上海县','2201100');
setOption(mdl,2,'嘉定','2201800');
setOption(mdl,3,'松江','2201600');
setOption(mdl,4,'南汇','2201300');
setOption(mdl,5,'奉贤','2201400');
setOption(mdl,6,'川沙','2201200');
setOption(mdl,7,'青浦','2201700');
setOption(mdl,8,'崇明','2202100');
setOption(mdl,9,'金山','2201500');
setOption(mdl,10,'其他','2000001');
}
mdl.focus();
}
</script>
skendy 2007-06-26
  • 打赏
  • 举报
回复
http://www.skendy.com.cn/skendy/dizhi.html

你看一看看这个,把源代码弄过来研究研究 二级联动,你也可以搞一个三级联动。。
whalefish2001 2007-06-26
  • 打赏
  • 举报
回复
这个最好用javascript来实现,当然了,也有恶心的,就是,当你选择第一级的时候,页面刷新一下,把第二级的数据搂回来显示。
csyu85 2007-06-26
  • 打赏
  • 举报
回复
你在页面最底部用javascript循环二级这个select再和你传过来的变量比较,如果相等就设为已选中.
itian 2007-06-26
  • 打赏
  • 举报
回复
在js里修改
加入默认值,加selected属性
garylai 2007-06-25
  • 打赏
  • 举报
回复
一级的单选可以了,谢谢!
还有一个问题,我用的是二级联动的单选下拉框。就是我在第一级里选择北京的话,在第二级里会自动有对应的北京的区域可以选择。可是现在就只能回显一级的内容,而且二级的内容没有跟着一级的内容变化,还是默认的选项,请问有什么好的办法吗?
csyu85 2007-06-25
  • 打赏
  • 举报
回复
新的页面

<select name="sex" id="sex">
<option value="">select</option>
<option value="女" <?if($_POST[sex]=='女')echo 'selected'?>> 女 </option>
<option value="男" <?if($_POST[sex]=='男')echo 'selected'?>> 男 </option>
</select>

21,887

社区成员

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

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