下拉多選框的應用
Jsp頁面代碼:
其中vcTown爲鎮區代碼和名稱的二維向量:
<td height="30" align='left'>
<select multiple readonly name ='townName' style="width:250px; " >
<!-- <option value=''>全部鎮區</option> -->
<%if(vcTown!=null){
if(vcTown.size()>0){
for(int intI=0;intI<vcTown.size();intI++){
Vector vcTemp= new Vector();
vcTemp=(Vector)vcTown.get(intI);
%>
<option value='<%=(String)vcTemp.get(0)%>'><%=(String)vcTemp.get(1)%></option>
<%}
}
}%>
</select>
</td>
JavaScript代碼:
功能:取頁面中選擇了的選項。
var i;
var townId = "";
var townName = "";
var tempTownId = "";
var tempTownName = "";
for(i=0;i<document.all['townName'].options.length;i++){
if(document.all['townName'].options[i].selected){
tempTownId += document.all['townName'].options[i].value+"','";
tempTownName += document.all['townName'].options[i].text +",";
}
}
townId = tempTownId.substr(0,tempTownId.length-3);
alert("townId="+townId);
townName = tempTownName.substr(0,tempTownName.length-1);
alert("townName"townName);
Java代碼:
功能:從頁面取數據到業務層,request.getParamValues取得的結果爲字符串數組
String[] tempTownName;
tempTownName = request.getParamValues(request,"townName");
String townCode = "";
for(int i=0;i<tempTownName.length;i++){
//System.out.println("tempTownName["+i+"]="tempTownName[i]);
//分隔字符串,用於查詢如:in('001','002','003')
townCode += tempTownName[i]+"','";
}
townCode = townCode.substring(0,townCode.length()-3);