innerHTML 中 Laravel 的 @if 内的 Javascript 变量

标签 javascript php laravel

如何在 Laravel 的 @if 中使用 javascript 变量“x”? 我尝试在 @if 内部和外部执行此操作。在外面,它工作得很好,但我确实需要根据这种情况采取行动。

var x = document.getElementById("IdPrize").value;

var mySpan = document.createElement("span");
mySpan.innerHTML = "\
@foreach (\App\Prize::all() as $prize)\
    @if ($prize->id == "+x+")\
        <p>{{$prize->name}} is the choosen one!</p>\
    @endif\
@endforeach";

我没有在 @if 和 @foreach 中获取变量“x”值有什么具体原因吗?可以做什么才能让它发挥作用?

如果我像下面的代码那样做,它就可以完美地工作。

var x = document.getElementById("IdPrize").value;

var mySpan = document.createElement("span");
mySpan.innerHTML = "\
@foreach (\App\Prize::all() as $prize)\
        <p>"+x+"</p>\
@endforeach";

谢谢!

最佳答案

<script type="text/javascript">

var x = document.getElementById("IdPrize").value;

</script>

在 Php 脚本中,它以字符串形式返回,因此您需要将 foreach 元素 id 转换为字符串,因此与字符串连接,

@foreach (\App\Prize::all() as $prize)\
    @php $x = print( ' <script>document.writeln(x);</script> ' ); @endphp
    @if ($prize->id."" == $x)\
        <p>{{$prize->name}} is the choosen one!</p>\
    @endif\
@endforeach";

关于innerHTML 中 Laravel 的 @if 内的 Javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54954692/

相关文章:

javascript - 日期格式问题

javascript - 从其他 html 文件加载 html 内容

php - Laravel 5 环境总是 'Production' 而实际上是 'Local'

javascript - 在 http 请求之前检查访问 token

javascript - 从 json 文件 javascript 中删除空值

javascript - 更新到 addEventListener 可能会导致函数的返回值不传播?

php - 我在进行数据库播种时出现 InvalidArgumentException

php - add_theme_support 不适用于 functions.php

php - 如何从数据库特定的选定值添加到解码的 Json 数组

php - 是 Blade 模板的元保留名称吗?