Хотите отобразить кнопки «Истина» и «Ложь» - PullRequest
0 голосов
/ 11 декабря 2011

У меня есть сетка кнопок, где пользователь открывает гирду, щелкая ссылку (Открыть сетку), а затем нажимая кнопку в этой сетке.Что я хочу сделать, так это то, что если пользователь нажимает кнопку «Верно или неверно», то он должен выводить кнопки «Истина» и «Ложь» под текстовым полем «Количество ответов».Но это ничего не отображает.Что я делаю не так?

Код здесь:

$(".gridBtns").click(function() {

   var clickedNumber = this.value;

   $('.answerBtns').each(function (index) {
      if (index < clickedNumber)
         $(this).show();
      else
         $(this).hide();
   });

   if (document.getElementsByClassName("gridBtns").value == "True or False")
   {
       document.getElementId("answerTrue").style.display = "block";
   }

});

Полный код в jsfiddle, нажмите здесь

Ответы [ 4 ]

2 голосов
/ 11 декабря 2011

Вместо этого:

if (document.getElementsByClassName("gridBtns").value == "True or False")
{
    document.getElementId("answerTrue").style.display = "block";
}

Попробуйте это:

if (this.id=='btnTrueorFalse') {
    $('#answerTrue').show();
    $('#answerFalse').show();
} 

Помимо ошибки 1 / много, уже упомянутой в другом посте, похоже, что оригинал просто ищет неправильное свойство в неправильном месте.

2 голосов
/ 11 декабря 2011

getElementsByClassName возвращает NodeList (который действует как массив), а не один элемент.

0 голосов
/ 11 декабря 2011

Я уже давно вижу этот код здесь:

Если вы используете jQuery, используйте . Выполнение document.getElementById (..) внезапно просто бессмысленно. Просто везде используйте селекторы jQuery и методы (например, .addClass (..) вместо .className = ..). jQuery - это способ доступа к DOM, использование микса просто сбивает с толку.

Кроме того, я замечаю, что большинство ваших проблем с этим пользовательским интерфейсом связано с тем, что:

  • Это плохой интерфейс (без обид, просто подумай)
  • Вы используете пользовательский интерфейс для сохранения состояния. Не делай этого. Пользовательский интерфейс должен зависеть от состояния, а не наоборот.
0 голосов
/ 11 декабря 2011

Код jQuery, равный вашему коду выше, будет

if($('.gridBtns').val() == 'True or False'){
  $('#answerTrue').show(); //you may also use .css() for it, but show() has the same    result
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...