JQuery: как показать / скрыть серию ярлыков форм за другим - PullRequest
0 голосов
/ 30 сентября 2011

Я пытаюсь создать поток отображения / скрытия полей в форме с помощью jQuery.

Это форма:

<form>
    <label for="onde" class="onde">
        <b>qua qua text</b>
        <textarea name="onde" id="onde"></textarea>
        <a class="next">Continue</a>
    </label>

    <label for="tentou">
        <b>bla bla text</b>
        <textarea name="tentou" id="tentou"></textarea>
        <a class="next">Continue</a>
    </label>

    <label for="quase">
        <b>yada yada text</b>
        <textarea name="quase" id="quase"></textarea>
    </label>

    <input type="submit" id="submit" value="Send">
</form>

Итак, когда я нажимаю на a.nextМне нужно скрыть метку, к которой принадлежит якорный тег, и показать следующий тег.

Проблема здесь в том, что на самом деле я не знаю имен меток (даже реального числа меток в форме), поскольку они будут сгенерированы динамически.

Последней задачей будет сделать нижний показ отправки, когда будет виден последний ярлык.

До сих пор это то, что я получил:

$('a.next').click(function(event) {
    $(this).fadeIn('slow');
    $(this).css('display','block');
});

Но ... я не могу больше идти ...

Ответы [ 2 ]

1 голос
/ 01 октября 2011

Это должно делать то, что вы хотите ..

$('a.next').click(function(event) {
    var label = $(this).closest('label');
    label.hide();
    label.nextAll('label:first').fadeIn('slow');
});

демо на http://jsfiddle.net/gaby/fhuU4/

1 голос
/ 30 сентября 2011

Просто дайте общий класс вашим текстовым областям. Предположим, мы дали класс «та» Теперь вот код

EDIT:
$(document).ready(function(){
    var i=0;
    $(".next").click(function(){
        $("label:eq("+i+")").fadeOut(200);
        i++;
        $("label:eq("+i+")").fadeIn(200);
    });
});

Это код jquery, который вам нужен. JS скрипка Это рабочая скрипка, которая вам нужна.

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