0

这个想法是遍历所有输入字段,当$(this)有无线电类型时,检查它是否被选中,是否保存它的值。

我知道还有其他方法可以获取所选单选按钮的值,但我已经通过所有输入并做类似的事情。

我试图检查所选的属性,$(this).attr('selected')但没有任何运气......而且我不知道该怎么做。

谢谢

4

7 回答 7

4

您可以尝试以下方法:

$(this).is(':radio:checked');
于 2012-09-14T09:57:40.033 回答
2

对于单选按钮,您应该使用checked.

$(this).prop('checked')
于 2012-09-14T09:58:41.100 回答
1

在这里,我为上述查询完成了完整的垃圾箱。请检查下面给出的演示链接:

演示: http ://codebins.com/bin/4ldqp76

HTML

<div id="panel">
  <input type="button" id="btn1" value="Check Selected" />
  <p>
    <input type="checkbox" value="Checkbox 1"/>
    Checkbox1 
    <br/>
    <input type="checkbox" value="Checkbox 2"/>
    Checkbox2 
    <br/>
    <input type="checkbox" value="Checkbox 3"/>
    Checkbox3 
    <br/>
    <input type="checkbox" value="Checkbox 4"/>
    Checkbox4 
    <br/>
    <input type="checkbox" value="Checkbox 5"/>
    Checkbox5 
  </p>
  <p>
    <input type="radio" name="rd" value="Radio 1"/>
    Radio-1 
    <br/>
    <input type="radio" name="rd" value="Radio 2"/>
    Radio-2 
    <br/>
    <input type="radio" name="rd" value="Radio 3"/>
    Radio-3 
    <br/>
    <input type="radio" name="rd" value="Radio 4"/>
    Radio-4 
    <br/>
    <input type="radio" name="rd" value="Radio 5"/>
    Radio-5 
  </p>
</div>

jQuery

$(function() {
    $("#btn1").click(function() {
        var SelChk = "Selected Checkbox Values: ";
        var SelRad = "Selected Radio Value:";

        $("input").each(function() {
            if ($(this).is(":checkbox:checked")) {
                SelChk += $(this).val().trim() + ", ";
            }
            if ($(this).is(":radio:checked")) {
                SelRad += $(this).val().trim();
            }
        });

        if (SelChk.substr(-2) == ", ") SelChk = SelChk.substr(0, SelChk.length - 2);

        alert(SelChk + "\n" + SelRad);
    });

});

演示: http ://codebins.com/bin/4ldqp76

于 2012-09-14T12:15:41.927 回答
1

要检查单选按钮的选择,请使用:

.prop('checked');

$('input').each(function() {
   if( this.type == 'radio' ) {
     console.log( $(this).prop('checked') );  // or, this.checked
                                              // or, $(this).is(':checked')
   }
});
于 2012-09-14T09:58:41.763 回答
0
$("input[type='radio']).each(function(){
   if($(this).is(":checked")){
      // perform your operation
    }
});
于 2012-09-14T10:19:36.753 回答
0

尝试查看此处的示例http://api.jquery.com/checked-selector/

于 2012-09-14T10:00:52.337 回答
0

HTML 单选输入没有选中属性,但已检查,如此所述 此外,从 jQuery 1.6 开始,您应该使用.prop()来获取和设置这种布尔条件: $(this).prop("checked") 将返回真或假。

于 2012-09-14T10:02:12.817 回答