提交按钮时Jquery需要验证单选按钮并获取单选按钮的id

时间:2014-01-31 02:48:29

标签: javascript jquery html

我想在登顶时验证我的按钮,如果没有检查单选按钮它会显示错误但是如果我们检查,它将获得我们检查的按钮的ID。我尝试如下代码:

HTML:

<div class="radio">
    <label>
        <input type="radio" name="chk" id="chk1"  class="chk"/>abcd
    </label>
</div>
 <div class="radio">
    <label>
        <input type="radio" name="chk" id="chk2" class="chk" />
        efg
    </label>
 </div>
<input type="button" value="Visualiser le résultat..."  id="btnresult" class="btn"/>

Jquery的:

   $('#btnresult').on('click',function(){   
                        if ( ! $('input.chk').is(':checked') ){
                            alert('not check.');
                        }
                        else if($('input.chk').is(':checked')) {
                            var getid = $(this).parent().find(".chk").attr('checked', true).attr('id');

                            alert(getid);

                        }

                     });

我的问题是:当我查看其他单选按钮时,我只能获得单选按钮chk1的第一个ID。

2 个答案:

答案 0 :(得分:1)

获取已选中单选按钮的ID

var getid = $('input.chk:checked').attr('id');

$(this).parent().find(".chk").attr('checked', true).attr('id')将返回第一个元素的id,其中包含类.chk,父元素内部将始终是第一个无线电元素 - 而不是已选中的元素

如果您想在搜索中更具体,请使用

var getid = $(this).parent().find(".chk:checked").attr('id');

答案 1 :(得分:1)

$("#btnresult").click(function() {
    if(!$("input.chk:checked").length) alert("Not checked");
    else alert($("input.chk:checked").attr("id"));
});