You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中用if语句检测数组值并设置复选框选中失败求助

代码问题排查与修复方案

存在的问题点

  • in_array 参数顺序完全错误
    in_array 的正确语法是 in_array(要查找的目标值, 待搜索的数组),你把参数顺序写反了,导致无法正确检测值是否存在于数组中。
  • 逻辑判断逻辑错误
    原代码中 in_array($request->requirements) == "Good Moral" 的写法不符合函数规范(in_array 必须传两个参数),且这种比较逻辑毫无意义,无法实现检测目标值的需求。
  • Blade 模板语法错误
    Blade 框架的 @if 语句后不需要加 {,直接换行编写内容即可,大括号是原生 PHP/JS 的语法,混用会导致模板解析失败。
  • 前端代码执行时机隐患
    若这段 jQuery 代码写在 jQuery 库加载之前,会触发 $ is not defined 错误,需确保代码在 jQuery 加载完成后执行。

修复后的代码

如果是单独嵌入脚本:

@if(in_array("Good Moral", $request->requirements))
    <script>
        $( "#goodmoral" ).prop( "checked", true );
    </script>
@endif

如果是在已有的 <script> 标签内:

<script>
    // 确保jQuery已加载
    $(function() {
        @if(in_array("Good Moral", $request->requirements))
            $( "#goodmoral" ).prop( "checked", true );
        @endif
    });
</script>

内容的提问来源于stack exchange,提问作者Angel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 22:40:24