2013-05-11 3 views
0

Я пытаюсь создать систему голосования с использованием jQuery и Smarty. Здесь переменная голос в Smarty:Применение JQuery к переменной Smarty

<p><span id="votenum">{$q_vote}</span> 

Я хочу, чтобы увеличить голос на 1, если этот вопрос успешно upvoted, это то, что я написал для части JQuery для увеличения голосов:

$("votenum").html($("#votenum").html(parseInt($("#votenum"))+1)); 

Но это не сработает. Можете ли вы сказать мне, как я могу это исправить? Спасибо.

ответ

1
$(function() { 
    $("#votenum").text(function(i, txt) { 
     return parseInt(txt, 10) + 1; 
    }); 
}); 

Идентификатор выбирается с # знаком, и используя анонимную функцию, делает его тривиальным, чтобы добавить 1 к значению, и вы не должны искать элемент дважды, просто убедитесь, что вы используя радиус с функцией parseInt.

1

Вы можете решить эту проблему с помощью ...

$("votenum").html($("#votenum").html(parseInt($("#votenum").text())+1)); 

Но лучше всего было бы ..

var votenum = $("#votenum"); 
var num = parseInt(votenum.text()); 
votenum.html(num+1); 

Это более эффективно, поскольку он выбирает только votenum один раз.

2

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

$("#votenum").text(parseInt($("#votenum").text()) + 1); 
Смежные вопросы