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

如何获取单选按钮组的选中具体值,而非输出console=on?

解决单选按钮提交后无法获取具体选中项的问题

嘿,我一眼就看出问题所在啦!你现在遇到的console=on是因为两个关键问题:单选按钮没设value属性,还有按钮ID写错了,咱们一步步来解决:

1. 核心问题:单选按钮缺少value属性

浏览器对于未设置value的选中单选框,默认会把值设为on,这就是你看到console=on的原因。你需要给每个单选按钮加上对应选项的value,这样提交时就能拿到具体标识了。

修改后的HTML单选框代码:

<div class="radio radio-info">
  <input name="console" id="it" class="form-control" type="radio" value="ti">
  <label for="it">Interactive &amp; TTY <span class="text-blue">(-i -t)</span> </label>
</div>
<div class="radio radio-info">
  <input name="console" id="tty" class="form-control" type="radio" value="t">
  <label for="tty">TTY <span class="text-blue">(-t)</span> </label>
</div>
<div class="radio radio-info">
  <input name="console" id="interactive" class="form-control" type="radio" value="i">
  <label for="interactive">Interactive <span class="text-blue">(-i)</span> </label>
</div>
<div class="radio radio-info">
  <input name="console" id="none" class="form-control" type="radio" checked="" value="none">
  <label for="none">None</label>
</div>

2. 修复按钮ID的错误

你的提交按钮写了id="#btnSubmit",多了个多余的#号,这会导致jQuery的$('#btnSubmit')找不到这个元素,点击事件根本不会触发!改成下面这样:

<button type="button" id="btnSubmit">Submit</button>

3. 测试效果

现在点击提交按钮,serialize()就会输出类似console=ti、console=t这样的结果,清晰对应你选中的选项。如果你想单独获取选中项的标识,也可以直接用jQuery快速拿到:

$('#btnSubmit').click(function() {
  // 直接获取选中单选框的value
  const selectedOption = $('input[name="console"]:checked').val();
  console.log('选中的选项:', selectedOption);
  
  // 原来的serialize方法也能正常工作了
  var data = $('#containerCreationForm').serialize();
  console.log(data);
});

这样就能完美解决你的问题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:48:34