如何让单选按钮在表单上被选中?

问题描述 投票:0回答:2

我的单选按钮在单击时没有被选中,并且在浏览器的检查元素上没有发现错误。可能是什么问题呢?因为我使用了正确的名称并将它们绑定到 jquery 函数调用上。

`// Javascript
   /**
    *@author:Gcobani Mkontwana
    @date:02/03/2023
    @select radio buttons during form application for loan.
    */ 
   $(document).ready(function(){
        $("input[type='button']").click(function(){
            var radioValue = $("input[name='gender']:checked").val();
            if(radioValue){
                alert("Your are a - " + radioValue);
            }
        });
    });

// HTML code
     <!--Radio Select -->
                                           <div class="select-radio6">
                                                <div class="radio">
                                                    <input id="gender" name="gender" type="radio" value="male">
                                                    <label for="radio-6" class="radio-label">Male</label>
                                                </div>
                                                <div class="radio">
                                                    <input id="gender" name="gender" type="radio" value="female">
                                                    <label for="radio-6" class="radio-label">Female</label>
                                                </div>
                                            </div>`
html jquery forms radio-button
2个回答
0
投票

我认为你的代码工作正常,当我添加一个按钮

$(document).ready(function(){
        $("input[type='button']").click(function(){
            var radioValue = $("input[name='gender']:checked").val();
            if(radioValue){
                alert("Your are a - " + radioValue);
            }
        });
    });
    
    
 
    
    
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="select-radio6">
     <div class="radio">
    <input id="gender" name="gender" type="radio" value="male">
 <label for="radio-6" class="radio-label">Male</label> </div>
        <div class="radio">
   <input id="gender" name="gender" type="radio" value="female">
 <label for="radio-6" class="radio-label">Female</label>
                </div>
                <input type='button' name = 'submit' value = 'submit'/>
</div>


0
投票

您的代码的问题是您为两个单选按钮使用了相同的性别 id 属性值。 id 属性对于 HTML 文档中的每个元素都应该是唯一的。这种情况下,需要给每个radio button一个唯一的id属性值,然后更新label元素中的for属性值来匹配radio button对应的id值。

这里是更正后的 HTML 代码:

<!--Radio Select -->
<div class="select-radio6">
    <div class="radio">
        <input id="male" name="gender" type="radio" value="male">
        <label for="male" class="radio-label">Male</label>
    </div>
    <div class="radio">
        <input id="female" name="gender" type="radio" value="female">
        <label for="female" class="radio-label">Female</label>
    </div>
</div>

请注意,我已分别为两个单选按钮的 id 属性指定了唯一值 male 和 female。我还更新了 label 元素中的 for 属性值以匹配单选按钮的相应 id 值。

现在当你点击一个单选按钮时,它应该被选中并且值应该被你的 jQuery 代码捕获。

© www.soinside.com 2019 - 2024. All rights reserved.