我的下拉列表是多选的,但怎么得到多个被选中的值呢?
我写了个多选的下拉列表,代码如下:<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");
这个语句不对,但是我不知道其他的得到参数的方法了,希望大哥大姐指点指点,谢谢了~~ 展开
<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");
这个语句不对,但是我不知道其他的得到参数的方法了,希望大哥大姐指点指点,谢谢了~~ 展开
5个回答
展开全部
首先设置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>
举例代码:
<!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>
展开全部
用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;
}
// 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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种办法是只能收到一个值
我是在界面提交的时候
遍历下拉列表,把所有的值,存在ArrayList中
用Session传过去
我是在界面提交的时候
遍历下拉列表,把所有的值,存在ArrayList中
用Session传过去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用:request.getParameterValues(arg0)
得到一个数组
得到一个数组
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单。request.getParameterValues("字段名");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询