2014-03-25 2 views
-1

각 항목의 ID를 onchange 이벤트의 기능에 추가해야하지만 <select> 태그는 표현을 허용하지 않습니다.for 루프에서 각 항목의 id를 javascript 함수에 전달하는 방법은 무엇입니까?

사용자가 목록에서 카테고리를 선택하고 나면 관련 항목의 ID가 값과 함께 Ajax로 전송되어 백엔드로 보내야합니다. 나는 그것이 기능 만 proid 변수의 값이 '정의되지 않은'됩니다에 요청을 보냅니다 item.id 때

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

그것은뿐만 % {item.id}을 허용하지 않습니다.

<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

은'무엇을 id'입니까? 그것은 int 값 또는 문자열입니다. –

+0

id는 정수입니다. – AlexCartio1

+0

는 select 태그로 EL 표현식을 수락하지 않습니까? isELIgnored = true인지 확인하십시오. –

답변

0

사용 OGNL하지 JSP EL :

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

FireBug show, changeItemCategory (, this.value) 함수를 호출하지 않으며 쉼표 아래에 화살표가 있습니다. FireBug 오류는 SyntaxError입니다 : 페이지 소스에서 문법 오류 – AlexCartio1

+0

또한 changeItemCategory (this.value)와 같습니다 – AlexCartio1

+0

@ AlexCartio1 오, jstl을 반복 할 때 s2 반복기를 사용하십시오. –

관련 문제