Использование кнопки для отображения определенных элементов - PullRequest
0 голосов
/ 06 апреля 2011

КОД ЗДЕСЬ: http://jsfiddle.net/B7Y43/

Привет программисты,

У меня следующая ситуация:

Мой PHP-скрипт генерирует несколько DIV, содержащих:

  • Вопрос (с классом, который имеет значение mainQuestion или subQuestionOf [questionID])
  • Кнопка
  • Абзац, содержащий ответ

Я пытаюсь добиться следующего:

Когда пользователь нажимает кнопку рядом с вопросом, ответ И подвопросы должны исчезнуть. Мне уже удалось угаснуть в ответ, когда пользователь нажимает кнопку, используя $(this).next('p').fadeIn("fast"); но поскольку подзапросы редко являются следующим div, я думаю, что мне нужны параметры использования.

Итак, в псевдокоде:

<question id="1" subquestionOf=""><button>
<answer>
<question id="2" subquestionOf="1"><button>
<answer>
<question id="3" subquestionOf="1"><button>
<answer>

if user clicks button {
show answer;
show questions where subquestionof=parent.id;
}

Понятия не имею, как использовать параметры, я попытался получить идентификатор родительского элемента div, но безуспешно:

$(function getID(event){
            var id = $(this).parent().attr("id");
            alert(id);
    });

Оповещение показывает: «Не определено»

Ответы [ 2 ]

0 голосов
/ 06 апреля 2011

Я пытался (изменяя ваш код в jsFiddle):

$("input.showAnswerButton").click(function() {
        $(this).next('p').fadeIn("fast"); //answer
        //subquestions
        $('.subQuestionOf'+$(this).parent().attr("id")).fadeIn("fast");
    });

и все работает ...

0 голосов
/ 06 апреля 2011

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

Отлаживаете ли вы, используя Firebug проверить значения $(this) и результат .parent()?

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