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

Laravel中如何实现选中不同name的复选框时自动取消另一项

实现方案

这个需求属于前端交互逻辑,和Laravel后端框架无关,直接通过JS即可实现,以下提供两种常用实现方式:

1. jQuery 实现(Laravel项目默认通常集成jQuery,可直接使用)

如果你的页面元素是静态渲染的,直接绑定change事件即可:

$('.new-control-input').change(function() {
  if ($(this).is(':checked')) {
    $('.new-control-input').not(this).prop('checked', false);
  }
});

如果元素是动态渲染的(比如后端循环输出的多个选项),推荐使用事件委托写法,适配动态生成的元素:

$(document).on('change', '.new-control-input', function() {
  if ($(this).is(':checked')) {
    $('.new-control-input').not(this).prop('checked', false);
  }
});

2. 原生JS实现(无需依赖jQuery)

const radioList = document.querySelectorAll('.new-control-input');
radioList.forEach(item => {
  item.addEventListener('change', function() {
    if (this.checked) {
      radioList.forEach(other => other !== this && (other.checked = false));
    }
  })
})

注:你给出的示例代码中用的是radio单选框,如果你实际需要用checkbox复选框,上述逻辑无需修改即可直接复用。后续如果需要新增更多互斥选项,只要给对应元素加上new-control-input类名即可,无需调整JS代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:48:05