我有这个jquery
$(".waitingTime .button").click(function () {
alert("Ema");
});
我有一个像这样的
a
标签:
<a href="{{ URL::to('restaurants/20') }}"></a>
我可以在 jquery 函数中执行相同的
href
操作吗?
非常感谢
是的,这是可能的,与 Laravel 无关。 有不同的可能性。如果您的查询嵌入在同一个 Laravel 视图中,则可以将 URL 直接放入 jQuery 代码中,例如如下所示:
$(".waitingTime .button").click(function () {
window.location.href = "{{URL::to('restaurants/20')}}"
});
但我认为最好的选择是在按钮标签上添加 URL 作为数据属性,然后让 jquery 访问该 URL。这样您就可以使按钮更加动态并拥有更多封装的代码。
一个例子可能是:
<div class="waitingTime">
<button class="button link-button" data-href="{{URL::to('restaurants/20')}}">
Click me
</button>
</div>
$(".link-button").click(function () {
window.location.href = $(this).data('href');
});
这样,您始终可以为一个带有
link-button
类的按钮提供一个 data-href
属性,其中包含单击按钮时要打开的 URL,而不必添加额外的 jquery。
只需在 JavaScript 中输出 php
$(".waitingTime .button").click(function () {
window.location.href = "<?php echo URL::to('restaurants/20'); ?>";
});
如果需要来自js的变量可以使用这个
if(data.cookies == 0){
location.replace("{{ route('delivery') }}?id="+id);
}
在 Laravel 中,我们可以通过 URL 部分决定如何在 Jquery 中路由:
var url = $(location).attr('href');
parts = url.split("/");
id= parts[parts.length-1];
name= parts[parts.length-2];
if(id == 'xxxx') {
window.location.href = "{{ route('route_name') }}?id="+id+"&name="+name;
}else{
//do something
};