如何将for循环中每个项的id传递给javascript函数?

时间:2014-03-25 05:34:27

标签: javascript jquery ajax struts2

我需要将每个项的ID添加到onchange事件的函数中,但<select>标记不接受表达式。

一旦用户从列表中选择一个类别,相关项目的ID以及值应该发送到Ajax以发送到后端。

 <c:forEach var="item" items="${Items}">
        .....
       <s:select id="name" 
                 name="name"
                 list="@interfaces.Lists@Category"
                 value="item.category"
                 onchange='changeItemCategory(${item.id},this.value)'
       />
 </c:forEach>

它也不接受%{item.id},当我尝试item.id时,它会将请求发送给函数,但是proid变量的值将是“未定义的”。

 <script> 

 function changeItemCategory(proid,cat){
     alert(proid+cat);
     .....
 }

 </script>

错误:

 According to TLD or attribute directive in tag file, attribute `onchange` does not accept 
 any expressions.

1 个答案:

答案 0 :(得分:0)

使用OGNL,而不是JSP EL:

onchange='changeItemCategory(%{#item.id}, this.value)'