Как сделать простой счётчик +\- на jquery?

Написал как-то так пока:

<div class="schetchik">
               <span></span>
               <input type="text" value="1">
               <span></span>
      </div>


$(document).ready(function() {
                var i = $(".schetchik>input").val;
                $(".schetchik>span").click(function(){
                        i++;
                        $(".schetchik>input").attr('value', i);
                 });
            });


Но не работает!

UPD: jsfiddle.net/63n1xchs

UPD: суммируя сказанное ниже дошло, что к val просто скобки забыл добавить .val()
  • Вопрос задан
  • 4854 просмотра
Пригласить эксперта
Ответы на вопрос 4
@Stopy
Сделай не i++, а выбранный $('инпут').val(i+1)
Ответ написан
Комментировать
@sanex3339
$(document).ready(function() {
    var i = $(".schetchik input").val();
    $(".schetchik span").click(function(){
        $(".schetchik input").val(++i);
    });
});
Ответ написан
Комментировать
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Ну во первых, val - это метод, а не свойство! И i в вашем случае будет равна чему-то такому:
$(".schetchik>input").val // = functiоn val(){...}

Во вотрых, i нужно привести к числовому типу, так как значение поля - строка.

Ну, и в третьих, с помощью val можно и присвоить значение тоже.

$(document).ready(function() {
      var e = $(".schetchik > input"),
           i = +e.val();
       $(".schetchik > span").click(function(){
            e.val(++i);
       });
});
Ответ написан
Комментировать
LittleFatNinja
@LittleFatNinja
горе девелопер, любитель лютой садомии
$(document).ready(function() {
                $("span").click(function(){
                        $("input").attr('value', parseInt($("input").val()) + 1);
                 });
            });
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы