2012-03-15 154 views
4

我一直在搜索這個很長一段時間!我需要在某些菜單懸停和鼠標懸停上顯示圖像。代碼被寫入一個js文件。但是需要生成圖像路徑。有沒有辦法使用這樣Symfony 2:如何在JavaScript文件中生成圖像路徑?

{{資產(「束/ mybundle /圖片/ menu_down.png」)}}

東西能FOSJsRoutingBundle用於生成js文件圖像路徑生成圖像路徑?

回答

6

同意尼克答案,但他忘記了{{asset(...)}}}周圍的「引號」。

所以應該這樣寫:

var menuDownUrl = "{{ asset('bundles/mybundle/images/menu_down.png') }}"; 

如果你想window.menuDownUrl工作,而不是輸出你"undefined"

+0

我想到了。不管怎麼說,還是要謝謝你! – VishwaKumar 2012-04-04 11:03:58

13

你可以在你的實際頁面上設置全局JS變量:

<script> 
    var menuDownUrl = "{{ asset('bundles/mybundle/images/menu_down.png') }}"; 
</script> 

然後你的JavaScript文件中設置爲來電全局變量:window.menuDownUrl

然後你的JavaScript文件中創建一個依賴關係,但允許您動態設置該圖像。

+0

我覺得樹枝功能在JavaScript文件的認可。我得到這個錯誤:未捕獲的SyntaxError:意外的令牌{ – VishwaKumar 2012-03-16 07:03:34

+0

嘿,它實際上工作。我必須將代碼放入我的小腳本模板中。謝謝!! – VishwaKumar 2012-03-16 07:14:56

8

你可以把隱藏的輸入,並設置圖片的路徑。

<input type="hidden" id="img_path" value="{{ asset('images/circle_loading.gif') }}"> 

後,在jQuery的你可以用它像這樣

var img = "<img src=\'"+ $("#img_path").val() +"\'>"; 
$("div").html(img);