我在加入 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/