提問:
我現在有一個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>