jQuery选择已选复选框的标签

3
当我点击一个按钮时,我想要获取所有被选中的复选框的值。我只是想用一个数组来存储所有被选中的复选框。
我已经在这里提供了一个简化的示例:http://jsfiddle.net/kralco626/JvAdg/1/ 实际代码更像这样:
var dataList = new Array(10);
dataList[0] = "Delete";
dataList[1] = LD_LicenseNumber.val();
dataList[2] = $("#LDOperatingCompanies input:checked").val();

以下是aspx代码:

<div id="LDOperatingCompanies">
                        <input type="checkbox" value="o1"  id="o1" name="LDOperatingCompanies" /><label for="o1">o1</label>
                        <input value="o2" type="checkbox" id="o2" name="LDOperatingCompanies" /><label for="o2">o2</label>
                        <input value="o3" value="o1" type="checkbox" id="o3" name="LDOperatingCompanies" /><label for="o3">o3</label>
                    </div>

谢谢!


获取值与选择<label>有什么关系? - Quentin
看了你的代码后发现,你的复选框没有值。你需要使用 value 属性来设置它们的值。不要混淆标签和值。 - Quentin
重新编辑:为客户端问题提供服务器端代码很少有帮助,但那只是纯HTML而已。 - Quentin
我有点困惑,因为我没有任何服务器端代码。但我会尝试添加一个值属性。没想到我可以这样做。 - kralco626
好的。我添加了值,当我只选择一个时它可以工作。但是当我选择多个时,它仍然只返回第一个的值。 - kralco626
1个回答

4
这是有关你的代码示例的更新,将所有选中的复选框存入一个数组中。示例 HTML
<div id="LDOperatingCompanies">
    <input type="checkbox" id="o1" name="LDOperatingCompanies" /><label for="o1">o1</label>
    <input type="checkbox" id="o2" name="LDOperatingCompanies" /><label for="o2">o2</label>
    <input type="checkbox" id="o3" name="LDOperatingCompanies" /><label for="o3">o3</label>
</div>
<input type="button" id="btn" value="alert checked boxes" />

JavaScript

var checks = [];
$('#btn').click(function(e) {
    $(':checked').each(function(index, item) {
        checks.push( item );
    });
    if(checks.length == 0) alert('nothing checked');
    else alert(checks);
});

如何从item中获取值?例如item.val()?它显示此对象不支持此方法。 - kralco626
这是一个更新,可以获取每个选中复选框的 idvalue。http://jsfiddle.net/JvAdg/4/ - subhaze

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接