我需要将每个项的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.
答案 0 :(得分:0)
使用OGNL,而不是JSP EL:
onchange='changeItemCategory(%{#item.id}, this.value)'