1

如何在 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";

谢谢!

4

1 回答 1

-1
<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";
于 2019-03-02T05:13:16.943 回答