【问题标题】:How to use JS value in laravel blade如何在 laravel 刀片中使用 JS 值
【发布时间】:2020-10-25 21:09:24
【问题描述】:

我想访问 laravel Blade 脚本中的 js 值。

这是我的脚本

$(document).change('#category', function () {
    var val = $('#category').val();

    var x = {{ $categories->where('parent_id', val)->get() }}; //here I want to keep val variable

    console.log(x);
});

这样我在选择标签中访问了主类别

@foreach($categories->whereNull('parent_id')->get() as $row)
      <option value="{{ $row->id }}">{{ $row->name }}</option>
@endforeach

以同样的方式,我想使用 Jquery 按 parent_id 过滤并将其设置为子类别,此 $category 是我从控制器获取的数据集合。

谁能帮我解决这个问题?

【问题讨论】:

  • 它不像这样工作...刀片被编译成常规的php,所有执行并返回给浏览器...然后javascript运行...服务器端代码和之间的巨大差异前端代码
  • 我认为有一种方法可以在脚本中替换 laravel syntex 中的变量?你对此有什么想法吗?
  • 我应该为此目的使用 ajax 吗?
  • 你可以看到here。此外,如果它不自动执行此操作,您可能需要将该 laravel 集合转换为数组。
  • Here 是一个如何在 laravel 集合中使用 groupBy 的示例。

标签: javascript jquery laravel


【解决方案1】:

如果你有一个外部的js文件,只需创建一个接收参数的函数,并在刀片视图中调用它并传递参数。 例如:

js文件:

function hello(name){
   alert(name)
} 

刀片文件:

<button onclick="hello({{ $name }})">Click me</button>

如果脚本在刀片视图中,只需使用这个:

alert({{ $name }})

但是很遗憾,你不能以正常的方式从 laravel 访问 js 变量,你也不需要!前端和后端有很大的不同。

【讨论】:

  • 不能解决这个问题。我必须使用 Ajax 使其成为可能。
猜你喜欢
  • 2012-12-05
  • 2021-03-05
  • 2018-09-20
  • 1970-01-01
  • 2020-03-14
  • 2018-09-25
  • 2014-05-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多