2016-06-16 3 views
-1

Когда я нажимаю кнопку 2 вверх/вниз, то работает только 1-я кнопка. Проверьте this. Кто-нибудь знает, как это исправить?Работает только 1 кнопка «вверх»/«вниз»

+1

duplicate 'id' is a no no. – BenG

+1

Пожалуйста, добавьте свой HTML/JS/CSS в вопрос SO в следующий раз, поскольку внешние ссылки могут появляться и уходить (они могут не работать в будущем). –

+0

У вас также есть только один «хранилище», поэтому он все равно не работает, даже если вы исправили проблему «id». –

ответ

2

Вы указали как buttons то же самое id, а id каждого элемента должны быть уникальными.

Вы можете использовать class связать click события и найти соответствующий span и подсчет голосов и подсчет голосов шоу в этом span.

Также у вас есть только один счетчик. Я не уверен, но я думаю, что если есть две отдельные кнопки, должно быть и два счетчика.

$(".buttonup").click(function() { 
    var vote = checkIfUserVoted() != votePlus ? votePlus : counter; 
    localStorage.setItem("voted", vote); 
    $(this).next().text(vote); 
}); 

Вот downvote кода кнопки

$(".buttondw").on('click', function() { 
    var vote = checkIfUserVoted() != voteMinus ? voteMinus : counter; 
    localStorage.setItem("voted", vote); 
    $(this).prev().text(vote); 
}); 
+1

Является ли «id» единственной проблемой с этим кодом? –

+0

Так что я должен сделать уникальный идентификатор для каждой кнопки? и добавить еще один javascript для каждой кнопки? Это то, что вы имеете в виду? Извините, что я новичок javascripter. –

+0

@tehkc вы можете назначить каждую кнопку уникального id или jsut использовать код, который я предоставил. – Mairaj

1

Here является рабочей версией. Вы должны использовать разные идентификаторы и обработчики для двух разделов ...

+0

На моем веб-сайте будет кнопка голосования 1000. Это заставит скрипт долго :(Любое другое решение? –

Смежные вопросы