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

fre*_*iew 2 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>
Run Code Online (Sandbox Code Playgroud)

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

如何将所选值传递给Javascript?

我尝试使用onClick函数,但值没有传递给Javascript.

function validate(y) {
   alert(y.value);
}
Run Code Online (Sandbox Code Playgroud)

Vir*_*zzo 8

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

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

编辑:添加单引号以进行错误校对.

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

function validate(id, name) { alert('id: ' + id + ', name: ' + name); }
Run Code Online (Sandbox Code Playgroud)