这里我想获得2个选项值,project.id和project.name
<select name="project" id="project">
<option value="0" Selected>Select Project</option>
<c:forEach var="project" items="${project}">
<option value="${project.id project.name}">${project.name}</option>
</c:forEach>
</select>
然后在我的servlet中,我希望它像这样,这可能吗?
int projectId = Integer.parseInt(request.getParameter("project"));
int projectName = request.getParameter("project");
我该怎么做?
答案 0 :(得分:0)
您必须使用分隔符在选项中写入值。现在在servlet结束时,使用split函数分隔值并使用它们。 检查这个答案:split string function。
或者,您可以使用javascript来执行此操作, 为此你必须采取两个其他隐藏的输入来传递值。 检查脚本:
function splitvalue(){
var optval=document.getElementById("instno").value;
var valarray=optval.split(',');
for(var i=0;i<valarray.length;i++){
document.getElementById("number").value=valarray[0];
document.getElementById("text").value=valarray[1];
}
}
<select id="instno" name="instno" onchange="splitvalue();">
<option value="1,abc">abc</option>
<option value="2,xyz">xyz</option>
</select>
<input type="text" id="number" name="number"/>
<input type="text" id="text" name="text"/>
此处代替输入文本,您可以使用input type =“hidden”来隐藏输入。并将这些传递给servlet而不是选择选项值。