我正在使用jsp。我有一个动态选择列表。我想request.getParameter()。它如何用于动态选择列表?代码如下:
<html>
<head>
<script language="JavaScript" type="text/javascript">
function optionsChange(){
var service = document.getElementById("service").value;
if(service == 'GSM'){
document.getElementById("cdmaService").value= '';
document.getElementById("cdmaService").style.display = 'none';
document.getElementById("gsmService").style.display = 'block';
}else if(service == 'CDMA'){
document.getElementById("gsmService").value= '';
document.getElementById("cdmaService").style.display = 'block';
document.getElementById("gsmService").style.display = 'none';
}
}
</script>
<head>
</head>
<body>
<table>
<tr>
<td style="color:white"> <font size="2"><b> SERVICE:</b></font> </td>
<td><select id="service" name="service" onChange="javascript:optionsChange();">
<option value="GSM">GSM</option>
<option value="CDMA">CDMA</option>
</select>
</td>
</tr>
<tr><td style="color:white"> <font size="2"><b> VAS :</b></font> </td></tr>
<tr id="gsmService">
<td><select name="gsmService" >
<option value="COMBO OFFER">COMBO OFFER</option>
<option value="CRICKET">CRICKET</option>
<option value="ASTRO">ASTRO</option>
</select>
</td>
</tr>
<tr id="cdmaService">
<td><select name="cdmaService" >
<option value="COMBO OFFER CDMA">COMBO OFFER CDMA</option>
<option value="WIN THE DREAM">WIN THE DREAM</option>
<option value="VOICE CHAT">VOICE CHAT</option>
</select>
</td>
</tr>
</table>
因为两个名单都有不同的名称&#34; gsmservice&#34;和&#34; cdmaservice&#34;。但它们是动态的,因此根据第一选择列表(GSM / CDMA)中的选择,一次只能出现其中一个。我如何使用request.getParameter()来查看已选择的值。因为如果我使用request.getParameter(gsm服务),它只返回gsm服务。如果我使用request.getParameter(cdmaservice),它只返回cdma服务。 怎么做到呢。任何sugestions?
答案 0 :(得分:0)
我想这可行,但这是一个棘手的解决方案..
最初不要在您的选择框中添加名称,因为请求中不会验证没有名称的字段
<select id="service" onChange="javascript:optionsChange();">
<option value="GSM">GSM</option>
<option value="CDMA">CDMA</option>
</select>
然后使用javascrpt将名称添加到select,
if(service == 'GSM'){
document.getElementById("cdmaService").value= '';
document.getElementById("cdmaService").style.display = 'none';
document.getElementById("gsmService").style.display = 'block';
$('#select1ID').attr('name', 'services');
}else if(service == 'CDMA'){
document.getElementById("gsmService").value= '';
document.getElementById("cdmaService").style.display = 'block';
document.getElementById("gsmService").style.display = 'none';
$('#select2ID').attr('name', 'services');
}
在服务器端,您可以从services
单独获取值
更新::
所以我希望更好的方法是在提交后检查页面中的NUll
,如下所示,
String serviceType = "";
serviceType = request.getParameter("service");
if(service.equals("gsm"))
{
//display this
}
else
{
//display this
}
希望这会有所帮助!!