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

Laravel实现变量非空时checkbox保持选中、为空时未选中的方法

问题根源

HTML 中 checkbox 的 checked 是布尔属性:只要该属性出现在标签上,无论属性值填什么(哪怕是false、0、空字符串),浏览器都会将 checkbox 置为勾选状态。你原来的写法无论变量是否为空,checked 属性都始终存在,所以无法实现需求。

调整方案

你只需要通过模板的条件判断,仅在变量非空时才输出checked属性即可,调整后的代码如下:

<div class="n-chk">
    <label class="new-control new-checkbox new-checkbox-rounded checkbox-primary">
        <input name="reingresado" {{ !empty($variable->actived) ? 'checked' : '' }} type="checkbox" class="new-control-input">
        <span class="new-control-indicator"></span>¿Producto Reingresado?
    </label>
</div>

如果需要额外兼容$variable->actived可能未定义的场景,可以把判断逻辑改成:

{{ isset($variable->actived) && !empty($variable->actived) ? 'checked' : '' }}

逻辑说明

  • 当$variable->actived非空时,模板会输出checked字符串,input标签带有checked属性,checkbox自动勾选
  • 当$variable->actived为空时,模板输出空字符串,checked属性不存在,checkbox保持未勾选状态

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 13:54:04