如何在渲染(控制器)Symfony的参数中传递javascript变量



这是我的edit.twig.html

<a href="#" data-toggle="modal" data-target="#myModal{{id}}" class="btn btn-default"><i id="icon" class="fa fa-edit"></i></a><div class="modal fade" id="myModal{{id}}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
            <h4 class="modal-title" id="myModalLabel">Modal title</h4>
        </div>
        <div class="modal-body">
            <form class="formeditcat" action="{{ path(" edit_cat ",{ "id " : id}) }}" class="form-vertical col-md-2" method="post">
                {{ form_row(formedit.name, {"class": "col-md-2"}) }} {{ form_row(formedit.description, {"class": "col-md-2"}) }}
        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> {{ form_rest(formedit) }}
            </form>
        </div>
    </div>
</div>

这是我的 JS我想传递这个 js 变量项。Id 像参数与渲染(控制器(有什么办法可以做到这一点

 success: function(data) {
            $('.table-striped > tbody > tr').remove();

            $.each(data, function(i, item) {
            var varrender="{{ render(controller('ElearingBundle:Default:edit',{'id': "+item.Id+" })) }}";
            $('.table-striped > tbody').append('<tr class="row'+item.Id+'"><td>'+item.Id+'</td><td>'+item.Name+'</td><td>'+item.Description+'</td><td>'+varrender+'</td><td><a href="#" class="btn btn-danger" data-toggle="modal" data-target="#deleteModal'+item.Id+'"><i id="icon" class="fa fa-trash"></i></a><div class="modal fade" id="deleteModal'+item.Id+'" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"><div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button><h4 class="modal-title" id="myModalLabel">Modal title</h4> </div> <div class="modal-body"><p><span>Voulez-vous vraiment supprimer <a href="#"></a><strongstyle="background=red"><mark>'+item.Name+'</mark></strong>? </span></p></div> <div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal">Close</button><a onclick="return DeleteUser('+item.Id+')" data-toggle="modal" class="btn btn-danger" id="lien">Supprimer</a></div> </div></div></div><div class="alert'+item.Id+' alert-success" role="alert"><p><strong>'+item.Name+'</strong> Added successfully</p></div></td></tr>');
            });
        }

任何帮助

你不能在服务器端解析和呈现模板,并以 html 的形式返回到执行 javascript 的用户浏览器。

另一方面,您可以使用 ajax 加载控制器响应。

$.each(data, function(i, item) {
        var url = '{{ path('controller_path_edit', {'id' : '__ID__'}) }}';
        url = url.replace('__ID__', item.id);
        $.ajax(url, {
            success: function (response) {
                $('.table-striped > tbody').append('<tr class="row' + item.Id + '"><td>' + item.Id + '</td><td>' + item.Name + '</td><td>' + item.Description + '</td><td>' + response + '</td><td><a href="#" class="btn btn-danger" data-toggle="modal" data-target="#deleteModal' + item.Id + '"><i id="icon" class="fa fa-trash"></i></a><div class="modal fade" id="deleteModal' + item.Id + '" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"><div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button><h4 class="modal-title" id="myModalLabel">Modal title</h4> </div> <div class="modal-body"><p><span>Voulez-vous vraiment supprimer <a href="#"></a><strongstyle="background=red"><mark>' + item.Name + '</mark></strong>? </span></p></div> <div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal">Close</button><a onclick="return DeleteUser(' + item.Id + ')" data-toggle="modal" class="btn btn-danger" id="lien">Supprimer</a></div> </div></div></div><div class="alert' + item.Id + ' alert-success" role="alert"><p><strong>' + item.Name + '</strong> Added successfully</p></div></td></tr>');
            }
        });
    });

也可以使用 http://symfony.com/doc/current/bundles/FOSJsRoutingBundle/index.html 在 javascript 中生成 url。

最新更新