0

很简单,这个st**id的小东西会杀了我。

我尝试循环每个单选按钮。

$('#recover input:radio:checked').each(function() {
  alert("checked");
});

或者

 function Checkform() {
    var result = true;
    $('#recover input[type=radio]').each(function() {
        var checked = $(this).find('input:radio:checked');
        if (checked.length == 0) {
            result = false;
            alert ("check");
        }
    });
    return result;
}

或者

 $('#recover input[type=radio]').each(function(){
 if($(this).attr('checked')){
    alert ("check");
  }
});

HTML:

<div id="recover">
  <input type="radio" name="s">
  <input type="radio" name="s">
  <input type="radio" name="s">
</div>

也试过:

<div id="recover">
<form>
  <input type="radio" name="s">
  <input type="radio" name="s">
  <input type="radio" name="s">
</form>
</div>

和:

<div id="recover">
<form>
  <input type="radio" name="s" value="1">
  <input type="radio" name="s" value="2">
  <input type="radio" name="s" value="2">
</form>
</div>

和更多的 HTML 组合。

并尝试了更多类似 jQuery / Javascript 的 5 个其他示例,但没有工作,我不知道为什么。

请任何帮助,谢谢分配。

4

6 回答 6

4

使用$(this).prop('checked')代替$(this).attr('checked')

jsFiddle 演示


属性与属性

...

然而,关于checked 属性最重要的概念是它不对应于checked 属性。该属性实际上对应于 defaultChecked 属性,应该只用于设置复选框的初始值。选中的属性值不会随着复选框的状态而改变,而选中的属性会。因此,确定是否选中复选框的跨浏览器兼容方法是使用属性

if ( elem.checked )
if ( $( elem ).prop( "checked" ) )
if ( $( elem ).is( ":checked" ) )

其他动态属性也是如此,例如selectedvalue

于 2013-10-01T06:15:27.187 回答
1

试试这个演示 http://jsfiddle.net/devmgs/X6QhN/

function doCheck(){
   $('#recover input[type="radio"]:checked').each(function() {
  alert("checked");
});
}
于 2013-10-01T06:26:53.483 回答
0

使用prop 因为它给出了真或假

属性

给出属性名称,如已选中或未在条件下使用

   $('#recovery input[type=radio]').each(function(){
     if($(this).prop('checked')){
        alert ("check");
      }
    });

参考道具

于 2013-10-01T06:15:59.027 回答
0

您可以直接从 dom 引用访问 checked 属性

$('#recover input[type=radio]').each(function () {
    if (this.checked) { // or $(this).is(':checked')
        alert("check");
    }
});

如果您只想处理选中的项目,请使用:checked选择器

$('#recover input[type=radio]:checked').each(function () {
    alert("check");
});

演示:小提琴

于 2013-10-01T06:19:38.173 回答
0
$(document).ready(function(){
 $('#recover > radio').each(function(){
     if($(this).prop('checked')){
        alert ("checked");
      }
    });
    });
于 2013-10-01T06:19:43.190 回答
0

试试这个`

               jQuery(function ()
               {
        if (jQuery('#recover input[name="s"]').is(':checked'))
        {
               alert("Checked");            }
        else
        {

             alert("Please select an Record");
          }
    });`
于 2013-10-01T06:26:48.627 回答