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

Laravel复选框值更新问题求助:点击后值始终为1

问题排查与解决

你的问题根源是没有实际的可交互复选框,也没有监听复选框状态变化来更新approved的值。当前HTML只有两个隐藏输入,点击操作根本没触发任何值的改变,所以approved永远是默认的1。

修正步骤:

  1. 调整HTML结构,添加可点击的复选框
    替换原有HTML,保留默认值为1的隐藏输入,同时添加可见复选框用于切换值:

    <input type="hidden" name="approved" value="1">
    <input type="checkbox" id="approvalCheckbox" label="设置为已审核">
    
  2. 添加JavaScript监听复选框状态,更新approved的值
    在Ajax脚本前加入事件监听,根据复选框勾选状态修改隐藏输入的value:

    $('#approvalCheckbox').on('change', function() {
        // 勾选时设为2,取消勾选时恢复为1
        $('input[name=approved]').val(this.checked ? 2 : 1);
    });
    
  3. 保留现有Ajax与控制器代码
    你当前的Ajax传值代码和控制器接收代码逻辑正常,只要approved的值能被正确更新,就能传递到后端。

另一种简化方案(无需隐藏输入)

也可以直接利用复选框状态,省去隐藏输入:

  • HTML:
    <input type="checkbox" name="approved" value="2" label="设置为已审核">
    
  • JavaScript:
    // 传递时判断复选框状态,勾选传2,否则传1
    approved: $('input[name=approved]').is(':checked') ? 2 : 1,
    

内容的提问来源于stack exchange,提问作者RA.IBOY

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 10:32:01