2012-01-04 36 views
2

我有以下的JSP代码:如何在Javascript中获取价值,而在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); 
} 
+0

告诉我们您的Java脚本代码 – 2012-01-04 10:12:02

+0

您可以使用document.getElementsByName()方法。 – adatapost 2012-01-04 10:13:13

回答

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); } 
+0

雅,但onclick无法正常工作。我为我的代码添加了简单的javascipt。 – freepublicview 2012-01-04 10:28:15

+0

@freepublicview尝试使用'onclick ='alert('$ {x.xID},$ {x.name}')“',如果这样做的话,那么它就是验证函数的问题,如果不是发布HTML输出。 – Viruzzo 2012-01-04 10:34:43

+0

感谢您的帮助。雅我有一些困惑,感谢解决 – freepublicview 2012-01-04 11:01:25