gpt4 book ai didi

javascript - jQuery .each() 不更新

转载 作者:行者123 更新时间:2023-11-28 13:54:15 27 4
gpt4 key购买 nike

我正在尝试检查是否已选择一组单选按钮。但是,如果事后选择 radio ,它似乎不会更新。

代码:

$('button#submit').click(function() {
var addr_chkd = 0;
$('input:radio[name="address"]').each(function() {
if (!$(this).attr('checked'))
addr_chkd++
});
});

if (addr_chkd)
// do something

当单击按钮且未选择任何内容时,代码运行良好。但是,当选择单选按钮并单击该按钮时,addr_chkd 仍然返回大于零的值。

[更新]

问题是我正在检查 addr_chkd 是否大于零。我应该检查 addr_chkd 是否等于单选按钮的长度。我对@PPvG 的答案做了一点修改,结果成功了。

$('button#submit').click(function() {
var radios = $('input:radio[name="address"]');
var num_unchecked = radios.filter(':not(:checked)').length;
if (num_unchecked === radios.length) {
alert('please select a button');
}
});

最佳答案

试试这个

$('button#submit').click(function() {
var addr_chkd = 0;
$('input:radio:[name="address"]').each(function() {
if (!$(this).is(':checked'))
addr_chkd++
});
});

或者你可以简单地这样做

$('button#submit').click(function() {    
var addr_chkd = $('input:radio[name="address"]:not(:checked)').length
}

由于一次只能选中一个单选按钮,因此您也可以执行以下操作

$('button#submit').click(function() {    
var addr_chkd = $('input:radio[name="address"]').length - 1;
}

上述所有内容的 fiddle 示例:http://jsfiddle.net/pdm2F/

关于javascript - jQuery .each() 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8981696/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com