2014-03-24 25 views
3

我正在努力一點加入jstl和jquery。 我有一個春天aplication它爲我提供了一個列表,例如汽車: [Kia, Audi, Fiat, Mazda, Opel]從jstl調用jQuery函數c:forEach(函數未定義)頁面加載

我有一個輸入字段,如果用戶按下旁邊的按鈕,它的花哨標籤的形式增加了這樣的文字,或隨你。 此外,我想要在頁面加載時添加與此標記相同形式的所有列表元素。 但如果我嘗試我收到:

Uncaught ReferenceError: add_tag is not defined (anonymous function)

所以我的代碼如下所示(當然剝離下來非常問題)

<script> 
    $(document).ready(function() { 
     function add_tag(value) { 
      console.log("adding tag:" + value); 
      //some styling 
      $("#add_here").append(value); 
     }; 

     $("#add_tag").click(function() { 
      add_tag($("#choosen_tag").val()); 
     }); 
    }); 
</script> 

<div> 
    <c:forEach items="${cars}" var="c"> 
     <script> 
      add_tag("${c}"); 
     </script> 
    </c:forEach> 
</div> 

<input id="choosen_tag"></input> 
<button type="button" class="btn btn-default" id="add_tag">+</button> 
<div id="add_here"></div> 

所有的jQuery,JSTL標記等,當然包括在內。這裏唯一的問題就是調用這個函數。嘗試了一些具有命名功能的東西,或者在其他var中聲明它,仍然沒有成功:/

回答

4

發佈後幾分鐘,我找到了一個解決方案。腳本應該使用jstl而不是其他方式。添加

<script> $(document).ready(function() { 
<c:forEach items="${cars}" var="c"> 
    add_tag("${c}"); 
</c:forEach> 
// rest of script adding functions 
... 

解決了我的問題。