2012-01-04 34 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