如何在javascript中获取多个复选框的值

时间:2012-04-13 09:54:18

标签: javascript

我在两个项目中使用了复选框,现在我可以获得第二组复选框的值。 我使用的第一组复选框:

<input name="option" type="checkbox" value="1" id="option1">option 1
<input name="option" type="checkbox" value="2" id="option2">option 2

然后

<input name="choice" type="checkbox" value="1" id="choice1">choice 1
<input name="choice" type="checkbox" value="2" id="choice2">choice 2

如何获取所选复选框的值,在每个组中只允许选择1复选框。

我只需要javascript函数

6 个答案:

答案 0 :(得分:5)

您需要 radio button ,(一次只能选择一个选项)

<input name="option" type="radio" value="1" id="option1">option 1
<input name="option" type="radio" value="2" id="option2">option 2

通过将[]附加到名称的末尾,可以将复选框分组到数组中:

<input name="option[]" type="checkbox" value="1" id="option1">option 1
<input name="option[]" type="checkbox" value="2" id="option2">option 2

这将获得您想要的效果,它将对复选框进行分组,以便所有来自它们的输入将产生一个数组。 仍然可以使用此方法选择多个复选框

答案 1 :(得分:3)

如果您使用多个复选框,则可以使用以下代码获取复选框的值。

$( '输入[名称=选项]:选中')。VAL();

答案 2 :(得分:1)

并将单选按钮的值检索为 的 document.formName.radioboxName.value;

由于您为单选按钮指定了相同的名称,因此只能选择一个值。

答案 3 :(得分:1)

使用Jquery

       var checked; 
    $("input").each(function () {
                                if ($(this).is(':checked'))
                                checked[ $(this).attr("name")] = $(this).attr("value")
                            })
 //checked is an array/object with all your checked checkboxs

答案 4 :(得分:1)

凯瑟琳如果你想从这两个组中选择一个项目,那么你应该去收音机,否则你不能仅限于选择一个复选框,而且你不必为此编写一大堆价值较少的代码。

此外,您还必须提到复选框数组。您采用的语法错误,正确的

<input name="option[]" type="checkbox" value="1" id="option1">option 1
<input name="option[]" type="checkbox" value="2" id="option2">option 2

和无线电

<input name="option" type="radio" value="1" id="option1">option 1
<input name="option" type="radio" value="2" id="option2">option 2

答案 5 :(得分:0)

没有 jQuery Pure Javascript

const checkedArr = Array.from(
    document.querySelectorAll(`input[name=myCheckboxGroup]:checked`)).map(node=>node.value);