我可以在select选项标记中获取两个值,然后在servlet中调用它吗?

时间:2016-02-03 02:08:58

标签: html jsp servlets

这里我想获得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");

我该怎么做?

1 个答案:

答案 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而不是选择选项值。