javascript - 从 jSTL c :forEach ( function not defined) on page load 调用 jQuery 函数

标签 javascript jquery html jstl

我在加入 jSTL 和 jquery 方面遇到了一些困难。 我有一个 Spring 应用程序,它为我提供了一个列表,例如汽车: [起亚、奥迪、菲亚特、马自达、欧宝]

我有一个输入字段,如果用户按下它旁边的按钮,它会以花式标签或其他形式添加此文本。 此外,我想在页面加载时以相同形式添加此标记的所有列表元素。 但是如果我尝试我会收到:

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 中声明它,仍然没有成功:/

最佳答案

发布几分钟后,我找到了解决方案。脚本应该使用 jSTL 而不是相反。添加

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

解决了我的问题。

关于javascript - 从 jSTL c :forEach ( function not defined) on page load 调用 jQuery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22621516/

相关文章:

javascript - 使用 templateUrl 通过 angular 的 ui-router 加载 html 文件

javascript - 如何将来自 Mongoose 的 JSON 映射到 Vue 和 Quasar?

javascript - 在 jqxGrid 中渲染 AngularJS 指令

javascript - rails : jQuery adding and removing fields in form

javascript - 如何让div内容彼此相邻

javascript - 如何在相对于伪元素的位置添加文本?

javascript - Leaflet.js - 如何只绘制连续的 48 个状态?

c# - 尝试将对象转换为 javascript []{}- C# 键值集合或字典<string,object> 或<string, string>

javascript - 创建循环以简化此 HTML 和 CSS 代码

html - 更改下拉菜单的背景颜色 - 移动