如何在jsp中循环时获取Javascript中的值

时间:2012-01-04 10:09:27

标签: javascript jsp jstl

我有以下JSP代码:

<c:forEach items="${requestScope.XX}" var="x">
   <tr>
      <td><input type="radio" value="${x.xID}" name="x"></td>
      <td>&nbsp;${x.name}</td>
   </tr>    
</c:forEach>

每当用户点击单选按钮时,我需要同时使用x.xID和'x.name'并在Javascript中验证。

如何将所选值传递给Javascript?

我尝试使用onClick函数,但该值未传递给Javascript。

function validate(y) {
   alert(y.value);
}

1 个答案:

答案 0 :(得分:8)

我猜你对服务器端(JSP)和客户端(JavaScript)代码执行有点困惑,但无论如何:

<input type="radio" value="${x.xID}" name="x" onclick="validate('${x.xID}','${x.name}')" />

编辑添加了单引号以进行错误验证。

编辑2:正如我猜测的那样,你对JavaScript的执行位置感到有些困惑:它在客户端运行,你在JSP中拥有的对象不存在,因此y.value中的validate()毫无意义。你的功能应该是这样的:

function validate(id, name) { alert('id: ' + id + ', name: ' + name); }