form中的select控件当select内容改变,页面根据select的值显示不同的内容,该如何实现?

houniao 2003-01-07 03:43:39
如题,而且select中的内容是从数据库中读出,自动生成的!!!!!拜托各位
...全文
722 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
houniao 2003-01-12
  • 打赏
  • 举报
回复
谢谢各位的答复,关于这个问题的基本思想,我已经明白了。今天结帖了。以后多交流!!!!
freekite 2003-01-11
  • 打赏
  • 举报
回复
<%
......
dim optionlist
while not rs.eof
optionlist=optionlist& "<option value=""" & rs("danyuan") & """"
if trim(rs("danyuan"))=trim(danyuan) then
optionlist=optionlist& "selected"
name=rs("danyuan")
end if
optionlist=optionlist& ">" & rs("danyuan") & "</option>"
rs.movenext
wend
......
%>
<script language=javascript>
function jumpMenu(targ,selObj,restore){
ss="?danyuan="+document.form1.danyuan.value;
//alert(ss);
eval(targ+".location='"+ "<%=myself%>" + ss+"'");
}
</script>
...
<select size="1" name="danyuan" onChange="jumpMenu('self',this,0)" >
<option>單元</option>
<%=optionlist%>
</select>


scfobao 2003-01-11
  • 打赏
  • 举报
回复
<html>
<head><title>dd</title>
<script language="javascript">
function changeText(str)
{
var obj=eval("document.all."+str);
var i= document.all.form1.sel.value;
if (i==1)
obj.innerText="232323";
else if (i==2)
obj.innerText="1121212";
else
obj.innerText="^_^";
}

</script>
</head>
<body>
<table>
<tr><td id="td1">sdfsf</td></tr></table>
<form name="form1">
<select name="sel" onchange="changeText(document.all.td1.id)">
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
</select>
</body>
</html>v
zalvsa 2003-01-10
  • 打赏
  • 举报
回复
select设置成onchange="change()";
function change()
{
formname.submit();
}
然后页面就会根据变量的值重新发送资料
zz315 2003-01-10
  • 打赏
  • 举报
回复
当select改变,激发的是onchange事件;
select的当前选项,可以用select的selectedIndex属性来判断,其值是整型数字,从0开始;
options是select各选项的集合,同样,从0开始;
一般根据选项来改变值是通过判断option的value来实现的(当然,也可以通过其他途径)。

知道了以上几点,实现起来就很容易了,如:<select onchange="xxx=this.options[this.selectedIndex].value">...</select>就是很常见的一个写法,变化一下,就实现你的目的了。

-------------------------------------------------------------------
无忧脚本临时论坛:http://51js.webucn.net
silinzi 2003-01-07
  • 打赏
  • 举报
回复
我好象也把题意理解错了
kadina 2003-01-07
  • 打赏
  • 举报
回复
<HTML>
<HEAD>
<script language="javascript">
function change(obj) {
alert(obj.options[obj.selectedIndex].text);
}
</script>
</HEAD>

<BODY>
<select name="select1" onChange="change(this)">
<option>aaa</option>
<option>bbb</option>
<option>ccc</option>
<option>ddd</option>
</select>
</BODY>
</HTML>
搞搞儿的 2003-01-07
  • 打赏
  • 举报
回复
因为 net_lover(孟子E章)的方法仅使用了客户端的资源。
如果向服务端发请求,则还要使用服务端和网络资源。
搞搞儿的 2003-01-07
  • 打赏
  • 举报
回复
如果是页面中的部分内容改变,还是用 net_lover(孟子E章)的方法好
搞搞儿的 2003-01-07
  • 打赏
  • 举报
回复
<select onchange="window.location.href=createMyUrl(this.value)">


function createMyUrl(c) {

myUrl = "aaa.htm?vvv=" + c;
return myUrl;
}
houniao 2003-01-07
  • 打赏
  • 举报
回复
zhangZhongYu(只是为了玩):
很谢谢你的答复,但是你可能误解我的意思了。我的困难主要不在动态生成select中内容,而是在于根据select中不同项,使页面产生相应变化。。。
搞搞儿的 2003-01-07
  • 打赏
  • 举报
回复
我好象把题意理解错了
搞搞儿的 2003-01-07
  • 打赏
  • 举报
回复
<html>
<head>
<title> showOrderTitle </title>
<script language="JavaScript">
<!--
function optionItem(v, t) {

this.value = v;
this.text = t;
return this;
}

var optionItems = new Array();
optionItems[0] = new optionItem("0", "选项0");
optionItems[1] = new optionItem("1", "选项1");
optionItems[2] = new optionItem("2", "选项2");
optionItems[3] = new optionItem("3", "选项3");
optionItems[4] = new optionItem("4", "选项4");
optionItems[5] = new optionItem("5", "选项5");
optionItems[6] = new optionItem("6", "选项6");
optionItems[7] = new optionItem("7", "选项7");
optionItems[8] = new optionItem("8", "选项8");


function addOption(v, t) {

var objSelect = document.all.mySelect;
var pos = objSelect.selectedIndex;
var objOption = new Option(t, v);
var fieldExist = false;
var i = 0;
for (i=0; i < objSelect.options.length; i++) {
if (objSelect.options[i].value == v) {
fieldExist = true;
alert("“" + v + "("+t+")”字段已经存在");
break;
}
}
if (!fieldExist) {
if (pos == -1 || pos > objSelect.options.length) {objSelect.options[objSelect.options.length] = objOption;}
else {objSelect.add(objOption, pos);}
}
for (i=0; i<objSelect.options.length; i++) {objSelect.options[i].selected=false;}
}

function deleteOption(type) {

var objSelect = document.all.mySelect;
for (var i = 0; i < objSelect.options.length; i++) {
if (objSelect.options[i].selected == true) {
if (type == true) {objSelect.options[i] = null;}
else {objSelect.remove(i);}
i--;
}
}
}

//-->
</script>
</head>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<script language="JavaScript">
<!--
document.write('<select size=' + (optionItems.length+1) + ' multiple name="mySelect">');
for (i = 0; i < optionItems.length; i++) {
document.write('<option value="' + optionItems[i].value + '">' + optionItems[i].text + '</option>');
}
document.write('</select>');
//-->
</script>
<br><br>
<a href="javascript:deleteOption(true)">删除选中的项</a>
<br><br>
加入项的值 <input type=text name=v>
加入项的显示文字 <input type=text name=t>
<a href="javascript:addOption(v.value, t.value)">在选中项之前添加项</a>

</body>
</html>
wangyime 2003-01-07
  • 打赏
  • 举报
回复
<select onchange=alert(this.value)>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
</select>
houniao 2003-01-07
  • 打赏
  • 举报
回复
两位,能讲得具体一点嘛?或者给出一个范例,拜托!
uGain 2003-01-07
  • 打赏
  • 举报
回复
用jumpurl将选择项的值做为参数传回到本页。
孟子E章 2003-01-07
  • 打赏
  • 举报
回复
<select onchange="a.innerText=this.text">


<p id=a></p>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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