[size=medium]select有多种问题,我集中总结分为一下3种[/size][b]
一.显示:[/b]
例如:
select标签上有 multiple 属性表示可以多选,如果不多选而是单选,直接去掉该属性,可以通过style="width:xx;height:xx;"来控制select的大小(xxpx或者xx%)
[b]二.选择:[/b]
首先定义一个变量
1.没有选项的情况
[b]selectObj.options[0] == null;[/b]
2.有选项的情况
没选中
[b]selectObj.options.selectedIndex<0[/b]
选中(top)
[b]selectOjb.options.selectedIndex==0[/b]
选 中(bottom)
[b]selectOjb.options.selectedIndex == selectOjb.options.length-1[/b]
[b]三.传值,取值:[/b](当form提交之后)
单选取值:后台直接通过request.getParameter("fruit") 就可以得到了
多选取值:
思路:
1定义一个隐藏域id='hiddenFruit'
2通过一个JS方法把select框中的每一个选项的值遍例取得放进隐藏域 通过"&"分开
3.后台通过request.getParameter("hiddenFruit")得到一个String串,通过String.split("&")得到一个String数组,遍例String数组,得到每一个元素,就是select框中的每一个选项的值。
代码片段:
一.显示:[/b]
例如:
<select size="4" name="fruit" id="fruit" multiple="multiple">
<option value="">全部</option>
<option value="1">苹果</option>
<option value="2">梨</option>
<option value="3">桃子</option>
<option value="4">香蕉</option>
<option value="5">菠萝</option>
</select>
select标签上有 multiple 属性表示可以多选,如果不多选而是单选,直接去掉该属性,可以通过style="width:xx;height:xx;"来控制select的大小(xxpx或者xx%)
[b]二.选择:[/b]
首先定义一个变量
var selectObj = document.getElementById('fruit');
1.没有选项的情况
[b]selectObj.options[0] == null;[/b]
2.有选项的情况
没选中
[b]selectObj.options.selectedIndex<0[/b]
选中(top)
[b]selectOjb.options.selectedIndex==0[/b]
选 中(bottom)
[b]selectOjb.options.selectedIndex == selectOjb.options.length-1[/b]
[b]三.传值,取值:[/b](当form提交之后)
单选取值:后台直接通过request.getParameter("fruit") 就可以得到了
多选取值:
思路:
1定义一个隐藏域id='hiddenFruit'
2通过一个JS方法把select框中的每一个选项的值遍例取得放进隐藏域 通过"&"分开
3.后台通过request.getParameter("hiddenFruit")得到一个String串,通过String.split("&")得到一个String数组,遍例String数组,得到每一个元素,就是select框中的每一个选项的值。
代码片段:
<form id='fruitForm' action='' method=''>
<input type="hidden" id="fruitValue" value="">
<input type="hidden" id="fruitText" value="">
</form>
<script>
<!--
function save() {
var selectObj = document.getElementById('fruit');
var ValObj = document.getElementById('fruitValue');
var TextObj = document.getElementById('fruitText');
for(var i=0; i<selectObj.options.length; i++){
ValObj.value += selectObj[i].value + "&";
TextObj.text += selectObj[i].text + "&";
}
var form = document.getElementById('fruitForm');
form.action = "xx.do"
form.submit();
}
//-->
</script>
String allFruitVal = request.getParameter("fruitValue");
String fruitValue [] = allFruitVal.split("&");
String allFruitText = request.getParameter("fruitText");
String fruitText [] = allFruitText.split("&");