2

我开始在 Symfony2 中使用 html twig,但遇到了以下问题:

function goEditConflict(){
    $("#go").on("click", function(){
    id = $("#case_number").val();

    windows.location = {{ path("acf_case_conflict_edit", {"id" : id}) }} ;
    });
}

ACFCaseBundle:Shared:caseHierachy.js.twig 中不存在变量“id”,第 38 行

我尝试根据 id 变量重定向页面,但出现错误,当我尝试重定向到{{ path("acf_case_conflict_edit", {"id" : id}) }}该变量时不存在。

如何在我的树枝代码中使用 js 变量?

4

3 回答 3

3

您的树枝将在您的 javascript 运行之前被写入,因此,它无法解析来自 jquery 调用的 id。在这种情况下,您最好使用 javascript 将 id 附加到虚拟路由:

acf_case_conflict.yml:

acf_case_conflict_stub:
    pattern:  /
    defaults: { _controller: "Bundle:acf_case_conflict:edit" }

抽出js:

function goEditConflict(){
    $("#go").on("click", function(){
    id = $("#case_number").val();
    windows.location = {{ path("acf_case_conflict_stub")}}+"/"+id+"/edit";
    });
}

这将在每次呈现页面时写入新的 js 文件以具有新的位置。

于 2013-04-17T17:37:13.897 回答
3

使用此代码

function goEditConflict(){
 $("#go").on("click", function(){
    var url = "{{ path("acf_case_conflict_edit", {"id" : js_id}) }}";

    js_id = $("#case_number").val();
    url = url.replace("id", js_id);
    windows.location = url ;
 });
}
于 2015-07-19T13:26:12.763 回答
0

我做了以下事情:

function goEditConflict(){
    $("#go").on("click", function(){
    id = $("#case_number").val();
    {% set var %}
          id
    {% endset %}
    windows.location = {{ path("acf_case_conflict_edit", {"id" : var}) }} ;
    });
}
于 2015-05-26T07:37:23.997 回答