提到这样一个需求“在新闻表中添加新闻分类的编号和名字”,一般情况下我们将分类的ID放在下拉菜单选项的value中,此时需要获取选项的编号和名字,我们该怎么做呢?我常用的有如下两种方式:
1、自己构造下拉菜单选项的value,比如:
id="typeId">
= 请选择
=
value="3_spring">Spring
value="2_struts">Struts
value="1_hibernate">Hibernate
在Action里面首先获取typeId的值,然后再将其解析成两个值。
2、在页面添加隐藏域,当下拉菜单的发生改变时,将当前选项的名字设置到隐藏域中。
2.1 给页面添加隐藏域
id="typeName"/>
2.2 编写javascript代码
//设置分类名称的值
function setTypeName(){
var type = document.getElementByIdx_x("typeId");
var pindex = type.selectedIndex;
//
获取选中的下拉框的值(value)
var pValue = type.options[pindex].value;
// 获取选中的下拉框的选项(key)
var pText = type.options[pindex].text;
//alert(pText);
//给隐藏域typeName赋值
document.getElementByIdx_x("typeName").value=pText;
}
2.3 给下拉菜单添加事件
οnchange="javascript:setTypeName();">
= 请选择
=
value="3">Spring
value="2">Struts
value="1">Hibernate
2.4 在Action中分别获取typeName、typeId即可。
-----------------------------------------------------------
var par =document.getElementByIdx_x('selectID').value;
location.href="myjsp.jsp?name=" par;
// 或在新窗口打开:open("myjsp.jsp?name=" par,"_blank","");
假如par是中文,需要在servlet那边转码
String par = request.getParameter("par");
par = new String(par.getBytes("ISO-8859-1"),"GBK");
String str=request.getParameter("下拉框的名字");