簡體   English   中英

單擊包含具有不同變量值的模板文件-Symfony2 / Twig

[英]Include template file with different variable value on click - Symfony2/Twig

當涉及到js文件,控制器,模板之間的通信時,以及涉及到js和ajax時,我都非常菜鳥。

我有這樣的不同鏈接:

<a class="details" data-index ={{i}}> Link 1 </a>

但在單擊時,它們不會加載其他頁面,而是打開一個微型頁面,該微型頁面的每個鏈接應具有不同的變量。

我想做這樣的事情:

$('.details').on('click', function(){
        var index = $(this).data('index');
        {% include 'MyBundle::information.html.twig' with {'var':index} %}
});

但是以這種方式.js不會將索引變量提供給twig,並且我得到未定義索引的錯誤:(

如何解決這個問題? 這不需要通過控制器。 改變'var'值就可以了。

最好的方法是使用FOSJsRoutingBundle ,如果由於某種原因您不想使用該捆綁包,則可以執行以下操作:

$('#details').on('click', function(){
    var index = $(this).data('index');

    var $whereToLoadContent = $("#divid") ; //where you want to load data
    //__index__ is just a placeholder
    var routeWithPlaceHolder= "{{ path('route_name',{'var':'_index_'}) }}" ; 
    var routeToLoad = routeWithPlaceHolder.replace("_index_",index) ;


    $whereToLoadContent.load(routeToLoad) ;


});

不確定語法是否正確,但希望您能理解。 再次,我建議您使用FOSJsRoutingBundle,如果您會經常這樣做的話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM