In jQuery, how do I get the value of a radio button when they all have the same name?

前端 未结 7 894
[愿得一人]
[愿得一人] 2020-11-28 04:44

Here is my code:

Sales Promotion
相关标签:
7条回答
  • 2020-11-28 04:44

    in your selector, you should also specify that you want the checked radiobutton:

    $(function(){
        $("#submit").click(function(){      
            alert($('input[name=q12_3]:checked').val());
        });
     });
    
    0 讨论(0)
  • 2020-11-28 04:46

    $('input:radio[name=q12_3]:checked').val();

    0 讨论(0)
  • 2020-11-28 04:51

    In your code, jQuery just looks for the first instance of an input with name q12_3, which in this case has a value of 1. You want an input with name q12_3 that is :checked.

    $("#submit").click(() => {
      const val = $('input[name=q12_3]:checked').val();
      alert(val);
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    
    <table>
      <tr>
        <td>Sales Promotion</td>
        <td><input type="radio" name="q12_3" value="1">1</td>
        <td><input type="radio" name="q12_3" value="2">2</td>
        <td><input type="radio" name="q12_3" value="3">3</td>
        <td><input type="radio" name="q12_3" value="4">4</td>
        <td><input type="radio" name="q12_3" value="5">5</td>
      </tr>
    </table>
    <button id="submit">submit</button>

    Note that the above code is not the same as using .is(":checked"). jQuery's is() function returns a boolean (true or false) and not (an) element(s).


    Because this answer keeps getting a lot of attention, I'll also include a vanilla JavaScript snippet.

    document.querySelector("#submit").addEventListener("click", () => {
      const val = document.querySelector("input[name=q12_3]:checked").value;
      alert(val);
    });
    <table>
      <tr>
        <td>Sales Promotion</td>
        <td><input type="radio" name="q12_3" value="1">1</td>
        <td><input type="radio" name="q12_3" value="2">2</td>
        <td><input type="radio" name="q12_3" value="3">3</td>
        <td><input type="radio" name="q12_3" value="4">4</td>
        <td><input type="radio" name="q12_3" value="5">5</td>
      </tr>
    </table>
    <button id="submit">submit</button>

    0 讨论(0)
  • 2020-11-28 04:51

    DEMO : https://jsfiddle.net/ipsjolly/xygr065w/

    $(function(){
        $("#submit").click(function(){      
            alert($('input:radio:checked').val());
        });
     });
    
    0 讨论(0)
  • 2020-11-28 04:56

    You might want to change selector:

    $('input[name=q12_3]:checked').val()

    0 讨论(0)
  • 2020-11-28 04:57

    use this script

    $('input[name=q12_3]').is(":checked");
    
    0 讨论(0)
提交回复
热议问题