【问题标题】:Javascript/HTML Checkboxes get checked valueJavascript/HTML 复选框获取选中值
【发布时间】:2025-12-05 08:50:01
【问题描述】:

我有几个复选框,每个组只有一个可选组件。复选框示例如下:

   <label class="checkbox inline">
        <input type="checkbox" id="question1option1" name="question1options" value="correct" onclick="SingleSelect('question1option',this)"> 1
    </label>
    <label class="checkbox inline">
        <input type="checkbox" id="question1option2" name="question1options" value="wrong" onclick="SingleSelect('question1option',this)"> 2
    </label>
    <label class="checkbox inline">
        <input type="checkbox" id="question1option3" name="question1options" value="wrong" onclick="SingleSelect('question1option',this)"> 3
    </label>
    <label class="checkbox inline">
        <input type="checkbox" id="question2option1" name="question2options" value="correct" onclick="SingleSelect('question2option',this)"> 1
    </label>
    <label class="checkbox inline">
        <input type="checkbox" id="question2option2" name="question2options" value="wrong" onclick="SingleSelect('question2option',this)"> 2
    </label>
    <label class="checkbox inline">
        <input type="checkbox" id="question2option3" name="question2options" value="wrong" onclick="SingleSelect('question2option',this)"> 3
    </label>

我有一个 javascript 函数,它通过传递单选按钮组(如下)拉出选择了哪个单选按钮,是否有等效的人可以帮助我获取选中复选框的值(每个组中只有一个') 请以类似的方式?

function getRadioValue (theRadioGroup)
    {
        for (var i = 0; i < document.getElementsByName(theRadioGroup).length; i++)
        {
            if (document.getElementsByName(theRadioGroup)[i].checked)
            {
                return document.getElementsByName(theRadioGroup)[i].value;
            }
        }
    }

提前致谢。

【问题讨论】:

  • CSS3 支持根据本次讨论将单选设置为复选框:*.com/questions/279421/…
  • 谢谢。我没有使用单选按钮的原因是它们看起来很难看,我似乎无法为所有浏览器找到解决方案,我认为您的链接有帮助,但在 Internet Explorer 中仍然不起作用?

标签: javascript html forms checkbox


【解决方案1】:

实际上,如果您更正对SingleSelect 或您的标记的调用,则相同的功能将起作用;您的标记使用像question1options 这样的名称,但您对SingleSelect 的调用使用像question1option 这样的名称(最后没有s)。修复它并且它可以工作:Live Example

但显然,当您单击复选框时,复选框不会自动取消选择其他同名复选框(这就是 type="radio" 的用途)。但我假设你知道这一点。 :-)

【讨论】:

  • 谢谢,由于 SingleSelect 功能,我的复选框会自动取消选择。这很好用。我没有使用单选按钮的原因是它们看起来很丑,而且我似乎无法为所有浏览器找到解决方案。
  • @user1149620:是的,我认为SingleSelect 可能会处理它。 :-) 很高兴这有帮助!
  • 谢谢,对 SingleSelect 的调用实际上没问题,因为它是正则表达式,但再次感谢。
最近更新 更多