我的下拉列表是多选的,但怎么得到多个被选中的值呢?

我写了个多选的下拉列表,代码如下:<html:selectproperty="area"size="8"multiple="true"><html:optionsColl... 我写了个多选的下拉列表,代码如下:
<html:select property="area" size="8" multiple="true" >
<html:optionsCollection name="noti"></html:optionsCollection>
</html:select>
下拉列表的内容是通过actionform中设置noti得到的
现在,在我的界面上能实现选中多条内容,但是我提交申请后,我用语句
String strnotifi = request.getParameter("area");
想得到我选中的内容,但是得到的是最后选中的那个选项的内容,也就是说
我虽然在界面上能选中多个,但是只能得到一个选中的内容?
(我的area是定义的String[]类型的,
但这里我用String[] strnotifi = request.getParameter("area")会报错误)
我估计可能是用String strnotifi = request.getParameter("area");
这个语句不对,但是我不知道其他的得到参数的方法了,希望大哥大姐指点指点,谢谢了~~
展开
 我来答
198901245631
推荐于2016-01-06 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1676万
展开全部
首先设置select的多选属性“multiple”为真,之后即可通过js进行获取。
举例代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>

<script language="JavaScript">
<!--
function checkselect(objname){
o = document.getElementById(objname);
t = document.getElementById("output");
var count=0;
var intvalue="";
for(i=0;i<o.length;i++){
if(o.options[i].selected){
intvalue+=o.options[i].value+",";
count++;
}
}
t.value=intvalue.substr(0,intvalue.length-1);
alert(count);
}
//-->
</script>
<select name="objsel" size=8 multiple="true">
<option value="0" selected>请选择 </option>
<option value="1">测试一 </option>
<option value="2">测试二 </option>
<option value="3">测试三 </option>
<option value="4">测试四 </option>
<option value="5">测试五 </option>
</select>
<input type="button" onclick="checkselect('objsel');" value="输出">
选中的项目:<input type="text" name="output">
</body>
</html>
R06066
2008-03-31 · TA获得超过382个赞
知道小有建树答主
回答量:375
采纳率:66%
帮助的人:173万
展开全部
用JS多方便
// check change
function checkChangedElementsFM180(){

var changedElements = "";
var formObj = document.forms[0];
var tableObj = document.getElementById("listTable");
var inputList = document.getElementsByTagName('input');

// @param j: RecordRows
// @param i: AllElements
var j = 1;
for(var i = 0; i < inputList.length; i++){
var elementobj = inputList[i];
if(elementobj.type == "checkbox")
{
if(elementobj.defaultChecked){
if(!elementobj.checked){
changedElements = changedElements
+ "null"+ ','
+ tableObj.rows(j).cells(1).firstChild.children(0).value + '|';
}
}else{
if(elementobj.checked){
changedElements = changedElements
+ "1" + ','
+ tableObj.rows(j).cells(1).firstChild.children(0).value + '|';
}
}
j++;
}
}
// deleteLastRecord -> '|'
changedElements = changedElements.substring(0,changedElements.length - 1);
return changedElements;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dkchina
2008-03-31 · TA获得超过2473个赞
知道大有可为答主
回答量:3504
采纳率:0%
帮助的人:2056万
展开全部
这种办法是只能收到一个值
我是在界面提交的时候
遍历下拉列表,把所有的值,存在ArrayList中
用Session传过去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b41102105
推荐于2016-03-26 · TA获得超过246个赞
知道小有建树答主
回答量:601
采纳率:0%
帮助的人:294万
展开全部
用:request.getParameterValues(arg0)
得到一个数组
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ms16211803
2008-03-31 · TA获得超过166个赞
知道小有建树答主
回答量:276
采纳率:0%
帮助的人:137万
展开全部
很简单。request.getParameterValues("字段名");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式