выберите последний переключатель в группе - PullRequest
0 голосов
/ 05 августа 2011

У меня есть несколько групп радиокнопок в форме, но мне интересно, если последняя выбрана радиокнопка в определенной группе, я попробовал это:

$('#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 ]

3 голосов
/ 05 августа 2011

У меня работает , я что-то здесь упускаю?

$('#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>
0 голосов
/ 05 августа 2011

Какую ошибку вы получаете?

Я воссоздал это, и это похоже на работу нажмите здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...