select 下拉菜单取值问题

来源:互联网 发布:淘宝不能支付怎么回事 编辑:程序博客网 时间:2024/05/01 13:46
提问:

我现在有一个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" onchange="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>
原创粉丝点击