Tom*_*asz 1 javascript jquery laravel
我想使用 URL::asset 将 url 传递给 javascript 而不是直接 url
$("select#lang").css("background-image", 'url(http://pascha.org/img/' + $("select#lang").val() + '.png)');
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情:
$("select#lang").css("background-image", '{{ URL::asset('/images/flags/') }}' + $("select#lang").val() + '.png)');
Run Code Online (Sandbox Code Playgroud)
但这当然行不通,问题是它应该如何看是否可能。
为什么这不起作用?
$("select#lang").css("background-image",
'{{ URL::asset('/images/flags/') }}' + $("select#lang").val() + '.png)');
Run Code Online (Sandbox Code Playgroud)
它不起作用的唯一原因是如果您在刀片文件之外和单独的 JS 文件中执行此操作。除非我错过了什么?
如果你有一个单独的 JS 文件,你可以在你的 JS 文件在你的标记中声明之前在刀片文件中分配一些“全局”变量。
例如:
<script>
// "global" vars, built using blade
var flagsUrl = '{{ URL::asset('/images/flags/') }}';
</script>
<script src="your-js-file.js"></script>
Run Code Online (Sandbox Code Playgroud)
然后在your-js-file.js 中,你可以这样做:
$("select#lang").css("background-image",
flagsUrl + $("select#lang").val() + '.png)');
Run Code Online (Sandbox Code Playgroud)