Увеличить значение textinput с помощью jquery, как spinner - PullRequest
4 голосов
/ 14 января 2010

Попытка создать простой эффект вращения с помощью Jquery, т.е. две кнопки (вверх и вниз) с текстовым полем Кнопка «вверх» увеличивает значение, а кнопка «вниз» уменьшает значение. шаг приращения + или - 1.

Любые предложения в качестве ui.spinner являются наиболее определенными. не работает, и я новичок в jquery. должно быть что-то вроде $(#up).click (function ( /*SOMETHING GOES IN HERE but what?*/ )) и аналогично для #down. и то, и другое, чтобы настроить поле ввода текста, скажем id #test, как указано выше.

Ответы [ 4 ]

8 голосов
/ 14 января 2010

Демо: http://jsbin.com/akiki

<button id="inc">+</button>
<button id="dec">-</button>
<input type="text" name="qty" value="0" />

<script type="text/javascript">
  $(function(){
    $("#inc").click(function(){
      $(":text[name='qty']").val( Number($(":text[name='qty']").val()) + 1 );
    });
    $("#dec").click(function(){
      $(":text[name='qty']").val( Number($(":text[name='qty']").val()) - 1 );
    });
  });
</script>
6 голосов
/ 07 июля 2011

Посмотрите на эту демонстрацию - я обнаружил, что она работает лучше всех тех, что я пробовал

Особенно, если вы используете темы jquery ui

http://btburnett.com/spinner/example/example.html

3 голосов
/ 14 января 2010

Может быть что-то вроде:

$(document).ready( function() {
  var el = $('#test');
  function change( amt ) {
    el.val( parseInt( el.val(), 10 ) + amt );
  }

  $('#up').click( function() {
    change( 1 );
  } );
  $('#down').click( function() {
    change( -1 );
  } );
} );
0 голосов
/ 03 сентября 2013

С помощью базового кода @rfunduk я создал это:

$(document).ready( function() {

    var el = $('#quantity_wanted');

    function change( amt ) {

        if (el.val() == '') {
            var newValue = 1;
        } else {
            var newValue = parseInt( el.val(), 10 ) + amt;
        }

        if (newValue > 0) {
            el.val( newValue );
        }

    }

    $('#cart_quantity_up').click( function() {
        change( 1 );
    } );

    $('#cart_quantity_down').click( function() {
        change( -1 );
    } );
} );
...