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
相关产品推荐
相关产品推荐

