Вы не можете использовать ++
для чего-то, что не является переменной, это будет самое близкое, что вы можете получить:
$('#counter').html(function(i, val) { return +val+1 });
Метод jQuery html()
может получить и установить значение HTML элемента. Если передана функция, она может обновить HTML на основе существующего значения. Итак, в контексте вашего кода:
$("#update").click(function() {
$('#counter').html(function(i, val) { return +val+1 });
}
DEMO: http://jsfiddle.net/marcuswhybrow/zRX2D/2/
Когда дело доходит до синхронизации вашего счетчика на странице со значением счетчика в вашей базе данных, никогда не доверяет клиенту! Вы посылаете сигнал увеличения или уменьшения в свой сценарий на стороне сервера, а не непрерывное значение, например 10 или 23.
Однако вы можете отправить AJAX-запрос на сервер при изменении HTML-кода вашего счетчика:
$("#update").click(function() {
$('#counter').html(function(i, val) {
$.ajax({
url: '/path/to/script/',
type: 'POST',
data: {increment: true},
success: function() { alert('Request has returned') }
});
return +val+1;
});
}