选择组的最后一个单选按钮

时间:2011-08-05 00:04:55

标签: jquery radio-button

我在一个表单中有几组radiobutton,但我想知道后者是否在特定组中选择了radiobutton,我试过这个:

$('#myform').submit(function() {

if ($('input[name$="cats"]:last', this).is(':checked')) {

            alert ('the last button');
            return false;

}

});

它不起作用...我希望你的帮助,谢谢你,对不起我的英文xd

修改...

奇怪,我在错误控制台或firebug中没有错误。

我的表格很广泛,但这只是一个例子:

<form id="myform" action="">

<fieldset class="left">
<legend>My Dogs</legend>                        
<p><input name="dogs" type="radio" value="Doberman" class="radio" /> Bobby</p>
<p><input name="dogs" type="radio" value="German Shepherd" /> Drake</p>
<p><input name="dogs" type="radio" value="schnauzer" /> Bunchie</p>
<p><input name="dogs" type="radio" value="Others" /> Other</p>
<p><input name="otherdog" id="otherdog" type="text" class="text" /></p>
</fieldset>

<fieldset class="right">
<legend>My Cats</legend>
<p><input name="cats" type="radio" value="Balinese" /> Kitty</p>
<p><input name="cats" type="radio" value="Bengal" /> Chucky</p>
<p><input name="cats" type="radio" value="Chausie" /> Gordon</p>
<p><input name="cats" type="radio" value="Others" /> Other</p>
<p><input name="othercat" id="othercat" type="text" class="text" /></p>
</fieldset>

</form>

我的JS是:

$(document).ready(function() {

$('#myform').submit(function() {

if ($(this).find('input[name$="dogs"]:checked').length == 0) {
            alert('Select dogs.');
            return false;
        }

        if ($('input[name$="dogs"]:last', this).is(':checked')) {

            alert ('this is the last');
            return false;
        }

});

if ($(this).find('input[name$="cats"]:checked').length == 0) {
            alert('Select cats.');
            return false;
        }

        if ($('input[name$="cats"]:last', this).is(':checked')) {

            alert ('this is the last');
            return false;
        }

alert('all good :)');
        return false;

});

});

唯一发生的事情就是你没有输入条件:

“if($('input [name $ =”cats“]:last',this).is(':checked')){”

2 个答案:

答案 0 :(得分:3)

Works for me,我在这里遗漏了什么吗?

$('#myform').submit(function() {
   if ($('input[name$="cats"]:last', this).is(':checked')) {
        alert('the last button');
        return false;
   }
});

<form id="myform">
    <input type="radio" name="foocats"/>
    <input type="radio" name="foocats"/>
    <input type="radio" name="foocats" checked="checked"/>
    <input type="submit"/>
</form>

答案 1 :(得分:0)

你得到什么错误?

我重新创建了它,似乎工作click here