获得radiobutton的检查状态

时间:2011-04-17 00:26:50

标签: jquery html

我正在尝试使用jQuery获取radiobutton的检查状态而没有太多运气。

我的HTML看起来像:

<div class="fr">
        <label>
            Recieve Email Updates?</label>

         Yes
            <input type="radio" value="True" name="ConsumerModel.RecieveSMS" id="ConsumerModel_RecieveSMS" data-val-required="The RecieveSMS field is required." data-val="true">
            No
            <input type="radio" value="False" name="ConsumerModel.RecieveSMS" id="ConsumerModel_RecieveSMS" checked="checked">
    </div>
<div class="fr">
        <label>
            Recieve Email Updates?</label>

         Yes
            <input type="radio" value="True" name="ConsumerModel.RecieveEmail" id="ConsumerModel_RecieveEmail" data-val-required="The RecieveEmail field is required." data-val="true" checked="checked">
            No
            <input type="radio" value="False" name="ConsumerModel.RecieveEmail" id="ConsumerModel_RecieveEmail">
    </div>

我的jQuery看起来像:

  var sms= $('input[name=ConsumerModel.RecieveSMS]:checked').val();
  var email = $('input[name=ConsumerModel.RecieveEmail]:checked').val();

我的变量sms似乎没问题但是电子邮件始终与sms相同,即使2不同。

我做错了什么?

2 个答案:

答案 0 :(得分:5)

因为您的代码没有唯一的名称/ ID。

检查live sample

基本上$("input[name=...]:checked")会返回两个元素而不是一个元素。

<div class="fr">
    <label>
        Recieve Email Updates?</label>

    Yes
    <input type="radio" value="True" name="ConsumerModel.RecieveSMS" class="ConsumerModel_RecieveSMS" data-val-required="The RecieveSMS field is required." data-val="true">
    No
    <input type="radio" value="False" name="ConsumerModel.RecieveSMS" class="ConsumerModel_RecieveSMS" checked="checked">
</div>
<div class="fr">
    <label>
        Recieve Email Updates?</label>

    Yes
    <input type="radio" value="True" name="ConsumerModel.RecieveEmail" class="ConsumerModel_RecieveEmail" data-val-required="The RecieveEmail field is required." data-val="true" checked="checked">
    No
    <input type="radio" value="False" name="ConsumerModel.RecieveEmail" class="ConsumerModel_RecieveEmail">
</div>

如果您将id更改为不需要唯一的class,那么它就可以正常工作。

Live example

答案 1 :(得分:0)

$('input:radio').is('checked');