如何将当前变量从 php blade foreach 传递到 javascript?

How to pass current variable from php blade foreach to javascript?

所以我正在使用 blade 模板,我需要得到我点击的问题的 id,但是从我现在所拥有的,我一直在逻辑上得到最后一个,它在 @foreach

这是php:

@section('content')
      <div class="kappa">
          @foreach($questions as $question)
          <p><a class= "questions">{{$question->id}}. {{$question->string}}</a></p><br>
          @endforeach
      </div>
@stop

这是脚本:

$(document).ready(function(){
    $somevar = <?php echo ($question->id) ?>;
    $(".questions").click(function(){
        $(".kappa").text($somevar);
    });
});

我如何分配 $somevar 我点击的 @foreach 元素的 ID 值?

你可以使用 data-* 属性,看看 data() :

<div class="kappa">
    @foreach($questions as $question)
       <p><a data-question-id="{{$question->id}}" class="questions">{{$question->id}}. {{$question->string}}</a></p><br>
    @endforeach
</div>

并使用 data() 检索 js 中的值:

$(".questions").click(function(){
    $(".kappa").text($(this).data('question-id'));
});

希望对您有所帮助。