javascript - Play 2 框架 + Loop for + 动态Javascript

标签 javascript playframework

在 Play 2.4 应用程序的 View 中,我想迭代一些数据,并为每次迭代创建 Javascript 代码。生成的 Javascript 看起来没问题,但是当我单击按钮时无法触发事件。

@for(site <- sites) {
        <div class="item">
            <div class="item-site-pres">
                <span class="item-site-title"><a href="@site.url">@site.title</a></span>
            </div>

            <div id="div@site.url" class="item-site-desc">
                <center>
                    Load Site
                    <input type='button' value='+' id='input@site.url' />
                </center>
            </div>
}       

Javascript

<script type="text/javascript" charset="utf-8">
    var load@site.url = function() {
        var url = @site.url;
        var website = @site.website;
        jsRoutes.controllers.Application.loadAjax(url,website).ajax({
                            success: function(data) {
                            $("#div@site.url").html(data);
                            },
                            error: function() {
                            alert("Error!")
                            }
                            })
                        };

   $("#input@site.url").click(load@site.url);

</script>

生成的 div 示例

<div id="divhttp://www.lequipe.fr/Natation/Actualites/Retour-manque-pour-agnel/491210" class="item-site-desc">
    <center>
    Load Site
    <input id="inputhttp://www.lequipe.fr/Natation/Actualites/Retour-manque-pour-agnel/491210" type="button" value="+">
    </center>
</div>

生成的示例 Javascript

<script charset="utf-8" type="text/javascript">
    var loadshttp://www.lequipe.fr/Natation/Actualites/Retour-manque-pour-agnel/491210 = function() {
    var url = http://www.lequipe.fr/Natation/Actualites/Retour-manque-pour-agnel/491210;
    var website = L&#x27;Equipe.fr; 
    jsRoutes.controllers.Application.loadAjax(url,website).ajax({
        success: function(data) {
        $("#divhttp://www.lequipe.fr/Natation/Actualites/Retour-manque-pour-agnel/491210").html(data);
        },
        error: function() {
        alert("Error!")
        }
    })
    };
    $("#inputhttp://www.lequipe.fr/Natation/Actualites/Retour-manque-pour-agnel/491210").click(loadhttp://www.lequipe.fr/Natation/Actualites/Retour-manque-pour-agnel/491210);
</script>

感谢您的支持

最佳答案

假设你的JS是这样的问题,你必须修复字符串值的引用,否则它将无法工作。

如果没有将值包装在 "" 中,

var website = L'Equipe.fr 永远不会是有效的 JS 字符串。 varloadshttp://www.lequipe.fr/Natation/Actualites/Retour-manque-pour-agnel/491210 的语法都没有问题。

关于javascript - Play 2 框架 + Loop for + 动态Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25361961/

相关文章:

javascript - 如何判断对象中是否声明了函数?

scala - 玩 2.5 和 Sangria

scala - 使用键入的键 Play Framework 请求属性

javascript - 将数字列表转换为代码

javascript - Javascript 中的数组填充

javascript - 从输入复制时获取文本

html - Play Framework : how to render static HTML pages with static js and css?

playframework - 我应该将启动代码放在 Play Framework 中的什么位置?

nginx - (https)Nginx --> (http) Play !。但是 request.secure 是假的

javascript - javascript 中的 URL 编码