如何在jQuery中获得复选框的值?


当前回答

这两种方法是有效的:

$(" #复选框”).prop(检查) $('#复选框').is(':checked')(谢谢@mgsloan)

$(" #测试”).click(函数(){ alert("复选框状态(方法1)= " + $('#test').prop('checked')); alert("复选框状态(方法2 ) = " + $('# 测试的).(':检查')); }); < script src = " https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js " > < /脚本> 检查我:<input id="test" type="checkbox" />

其他回答

简单但有效,并假设你知道会找到复选框:

$("#some_id")[0].checked;

给真/假

对于多于1个复选框,总是使用命名数组,如下例所示的国家,因为你知道国家可以选择多个,所以我使用name=" nations[]",而勾选复选框,你必须引用它的名字,如下例所示

var selectedCountries = ["Pakistan", "USA"]; $(document).ready(function () { $.each(selectedCountries, function (index, country) { $(`input[name='countries[]'][value='${country}']`).attr('checked', 'checked'); }); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <p> <input type="checkbox" name="countries[]" value="Pakistan"> Pakistan </p> <p> <input type="checkbox" name="countries[]" value="India"> India </p> <p> <input type="checkbox" name="countries[]" value="USA"> USA </p>

如果只期望选择一个子元素:

form.querySelector(":checked").value

这两种方法是有效的:

$(" #复选框”).prop(检查) $('#复选框').is(':checked')(谢谢@mgsloan)

$(" #测试”).click(函数(){ alert("复选框状态(方法1)= " + $('#test').prop('checked')); alert("复选框状态(方法2 ) = " + $('# 测试的).(':检查')); }); < script src = " https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js " > < /脚本> 检查我:<input id="test" type="checkbox" />

在jquery中获取checkboxex的值:

var checks = $("input[type='checkbox']:checked"); // returns object of checkeds.

for(var i=0; i<checks.length; i++){
    console.log($(checks[i]).val()); // or do what you want
});

在pure js中:

var checks = document.querySelectorAll("input[type='checkbox']:checked");

for(var i=0; i<checks.length; i++){
    console.log(checks[i].value); // or do what you want
});