Отключение переключателя или увеличения оценки после первого нажатия - PullRequest
0 голосов
/ 03 апреля 2012

http://jsfiddle.net/nhZXg/36/

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

Я провел исследование и нашел jquery-код .unbind (), но не уверен, как его реализовать или даже это лучшее решение.

Что бы люди предложили.

Желательно, чтобы сценарий находил нажатую кнопку, вместо того, чтобы сказать, был ли (button1) нажат, например, потому что этот тест может стать довольно большим и утомительным.

Заранее спасибо.

UPDATE: Используя этот код сейчас: http://jsfiddle.net/nhZXg/38/

Но он все равно не будет работать.

Страница, на которой я использую это: http://elearning.easy2dev.com/quiz_template_2.php

Есть идеи, почему? Я также включил библиотеку jQuery 1.7.1!

Готово! :)

1 Ответ

3 голосов
/ 03 апреля 2012

Если вы хотите выполнить какой-либо обработчик событий только один раз, используйте jQuery one для привязки обработчика событий. Он будет отменен после запуска события.

$('input:radio').one('click', function(){
     //do stuff here
});

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

function scoreIncrement(elem) {//where elem is the radio button element that is clicked
    if(!$(elem).data('scored')){
       score++;
       document.getElementById("score").innerHTML = score;
       $(elem).data('scored', true);
    }
}​

Рабочая демоверсия - http://jsfiddle.net/nhZXg/38/

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