select 下拉菜单取值问题

  • Post author:
  • Post category:其他


提问:

我现在有一个select的下拉菜单,当我选定之后,触发onChange事件,然后根据所选的字段再去数据库查找,返回的值加载到另外一个select下拉菜单。怎么处理这种情况呢?

回答:

//onChange事件,调用js的doChange方法,   获得选择的值,重新刷新页面,

function   doChange()   {

var   selectValue   =   documents.forms[0].selectname.options[documents.forms[0].selectname.selectedIndex].value;

window.location.href=’/file.do?sort=’+selectValue;

}

简单跟你说一下吧:

1.   select   的   onChange   事件中取得值,这个应该不难

2.   在页面中使用一个   iframe,加载另一页面,这个页面的内容要根据参数来决定,这个参数就是在上面取得到的那值。

3.   onChange   事件向   iframe   提交参数之后,iframe   页面根据取得的值生成包含结果的   javascript   语句,这些语句实际是写   parent   里另一个   select   的选项,当然写之前要先把原来的选项清空。

========================================================================

问题:

在我的网页里有这么一个form,我希望在提交以后可以得到这个form中select所有的option选项(即不考虑该option是否被选中)。这个问题困扰了我很久了,望高人能给予解答。不胜感激!!

在我的网页里有这么一个form,我希望在提交以后可以得到这个form中select所有的option选项(即不考虑该option是否被选中)。这个问题困扰了我很久了,望高人能给予解答。不胜感激!!

回答:

<FORM name=”form” action=”#” method=”post”>

<SELECT name=”list1″ size=”4″ multiple=”multiple”>

<OPTION value=”a”>

test

</OPTION>

<OPTION value=”b”>

test2

</OPTION>

<OPTION value=”c”>

test3

</OPTION>

</SELECT>

<INPUT type=”Submit” name=”test” />

</FORM>

———————————————————————-

<SELECT name=”list1″ size=”4″ multiple=”multiple”>

<OPTION value=”a”>

test

</OPTION>

<OPTION value=”b”>

test2

</OPTION>

<OPTION value=”c”>

test3

</OPTION>

</SELECT>

<script type=”text/javascript”>

/*<![CDATA[*/

var bb=””;

var aa=document.getElementsByName(“list1”)[0].options;

for(var i=0;i<aa.length;i++){


bb=bb+aa[i].value+”,”

}

alert(bb);

document.getElementsByName(“aaaa”)[0].value=bb

/*]]>*/

</SCRIPT>

<input type=”hidden” name=”aaaa”>

给他付给hidden,下叶面取hidden的值

——————————————————–

万分感谢!!

我稍微修改了一下,传递的网页就可以收到了。

<OPTION value=”a”>

test

</OPTION>

<OPTION value=”b”>

test2

</OPTION>

<OPTION value=”c”>

test3

</OPTION>

</SELECT>

<input type=”hidden” name=”aaaa” value=””>

<script type=”text/javascript”>

var bb=””;

var aa=document.getElementsByName(“list1”)[0].options;

for(var i=0;i<aa.length;i++){


bb=bb+aa[i].value+”,”

}

//alert(bb);

document.getElementsByName(“aaaa”)[0].value=bb

</SCRIPT>

<INPUT type=”Submit” name=”test” />

==============================================================

<select size=”5″ multiple=”multiple” >

多选列表框

<html>

<head>

<title>Untitled Document</title>

<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″>

<%@ page contentType=”text/html; charset=gb2312″ %>

</head>

<body bgcolor=”#FFFFFF” text=”#000000″>

<form name=”form1″ method=”post” action=””>

<select name=”svalue” size=”4″ multiple>

<option value=”rocie”>rocie</option>

<option value=”tiger”>tiger</option>

<option value=”dargon”>dragon</option>

<option value=”cheerboy”>cheerboy</option>

</select>

<input type=”submit” name=”Submit” value=”Submit”>

</form>

<%

String value[]=request.getParameterValues(“svalue”);

if(value!=null)

{


//out.print(value.length);

for(int i=0;i<value.length;i++)

{


out.print(value[i]+”<br>”);

}

}

else out.print(0);

%>

</html>

============================================================

问题:

如何获得select的option值

<select name=”opt”>

<option value=”123323″>全12333</option>

<option value=”121113″>全12321</option>

<option value=”121323″>全123123</option>

</select>

问题补充:

不好意思,没说明白。我既想获得value的值。也想获得<option></option>之间的值,请问该怎么获得?在ASP中实现

最佳答案 :

有时候我们需要在一个Select中传递两个有关联但不同的值,比如你的这个情况。这时候要利用到Option的另一个不常用属性Name,用Name来存储第二个值,然后在onchange事件中分别用this.options[this.selectedIndex].name来调用这个值。

<select name=”opt” onchange

=”optt.value


=this.options[this.selectedIndex].name

“>

<option name=”全12333″ value=”123323″>全12333</option>

<option name=”全12321″ value=”121113″>全12321</option>

<option name=”全123123″ value=”121323″>全123123</option>

</select>

<input name=”

optt

” type=”hidden” value=””>

在你的程序里,把<option></option>之间的内容作为name属性写出来,然后定义一个隐藏的input——optt,再定义好onchange事件,就可以同时获取到value和name两个值了。

提问者对于答案的评价:
可以获得。谢谢
评价已经被关闭

其他回答
opt.value

就会返回当前选项的value


有一个方法,但是不值得推荐使用,因为不和规范。可以使用theForm.opt[0].value获得第一个值,也可以用theForm.opt[0].innerHTML获得标签中间的文本(返回HTML文本)。但是这样子做是为什麽呢?
回答者:



lenyado







试用期 一级



4-12 21:21


试试:

<select name=”opt” οnchange=”javascript:alert(document.all.opt.options[document.all.opt.selectedIndex].innerText);”>

<option value=”1″>111

<option value=”2″>222

<option value=”3″>333

<option value=”4″>444

<option value=”5″>555

<option value=”6″>666

<option value=”7″>777

</select>



版权声明:本文为yuhua3272004原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。