简体   繁体   English

如何检查单选按钮是否被选中

[英]How to check if radio button is selected

How can I check if a radio button is selected? 如何检查是否选择了单选按钮? I have this code: 我有以下代码:

<form id="myForm">
    <p>Select layout grid: </p>
    <div class="cc-selector">
        <input checked="checked" id="visa" type="radio" name="credit-card" value="visa" />
        <label class="drinkcard-cc visa" for="visa"></label>

        <input id="mastercard" type="radio" name="credit-card" value="mastercard" />
        <label class="drinkcard-cc mastercard" for="mastercard"></label>

        <input id="visa1" type="radio" name="credit-card" value="visa" />
        <label class="drinkcard-cc visa1" for="visa1"></label>

        <input id="mastercard1" type="radio" name="credit-card" value="mastercard" />
        <label class="drinkcard-cc mastercard1" for="mastercard1"></label>
    </div>

    <input id="submit" type="submit" value="Submit">
</form>
$(document).ready(function() {
    $('#submit').click(function() {
        if ($('#visa').is(':checked')) { 
            alert("visa's checked"); 
        }
        if ($('#mastercard').is(':checked')) { 
            alert("mastercard's checked"); 
        }
        if ($('#visa1').is(':checked')) { 
            alert("visa1's checked"); 
        }
        if ($('#mastercard1').is(':checked')) { 
            alert("mastercard1's checked"); 
        }  
    });
});

What I want is redirect a another html page if i select a radio button or another one but i need to know the button I'm selecting. 我想要的是如果我选择一个单选按钮或另一个单选按钮,但我需要知道我选择的按钮,则重定向另一个html页面。 Can anyone help me? 谁能帮我? Thanks! 谢谢!

If you want to do your redirect based on the selected value you could do something like this... 如果您想根据所选值进行重定向,则可以执行以下操作...

$('#submit').click(function() {
    var creditcard = $('[name="credit-card"]:checked').val();

    switch(creditcard) {
        case 'visa':
            // do something
            break;
        case 'mastercard':
            //do something
            break;
        default:
            // do something
    }
});

If you wish to do your redirect based on which input is selected ... 如果您希望根据选择的输入进行重定向...

$('#submit').click(function() {
    var creditcard = $('[name="credit-card"]:checked').attr('id');

    switch(creditcard) {
        case 'visa':
            // do something
            break;
        case 'mastercard':
            //do something
            break;
        case 'visa1':
            // do something
            break;
        case 'mastercard1':
            //do something
            break;
        default:
            // do something
    }
});

Or if you add a data attribute to your inputs, you could simply do this... 或者,如果您向输入中添加数据属性,则可以简单地执行此操作...

HTML: HTML:

<input checked="checked" id="visa" type="radio" name="credit-card" value="visa" data-url="/some/url/" />

JS: JS:

$('#submit').click(function() {
    window.location = $('[name="credit-card"]:checked').data('url')
});

You can simply do this: 您可以简单地做到这一点:

 $(document).ready(function() { $('#submit').click(function(e) { e.preventDefault(); var radio = $('.cc-selector').find('input[type=radio]:checked'); alert(radio.val() + "'s checked and you should pay at /this/url/" + radio.val()+'/'); // window.location.href = "some/specific/payment/path"+ radio.val(); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form id="myForm"> <p>Select layout grid:</p> <div class="cc-selector"> <input checked="checked" id="visa" type="radio" name="credit-card" value="visa" /> <label class="drinkcard-cc visa" for="visa"></label> <input id="mastercard" type="radio" name="credit-card" value="mastercard" /> <label class="drinkcard-cc mastercard" for="mastercard"></label> <input id="visa1" type="radio" name="credit-card" value="visa" /> <label class="drinkcard-cc visa1" for="visa1"></label> <input id="mastercard1" type="radio" name="credit-card" value="mastercard" /> <label class="drinkcard-cc mastercard1" for="mastercard1"></label> </div> <input id="submit" type="submit" value="Submit"> </form> 

The method uses "is" selector and it returns true and false based on radio button status.

 $(document).ready(function() { $('#btnStatus').click(function(){ var isChecked = $('#rdSelect').is(':checked'); alert(isChecked); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <b> <input type="radio" id="rdSelect"/> Select/Deselect </b> <br/><br/> <input type="button" id="btnStatus" value="Get Radio Button status" /> 

  $(document).ready(function() {
   $('#btnStatus').click(function(){
      var isChecked = $('#rdSelect').is(':checked');
      alert(isChecked);
   });
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM