2012-02-02 32 views
2

可能重複:
Is it possible to customize an input field for amounts with +- buttons?jQuery的輸入數量

如何使+(加號)和 - 用於

<input type="number" class="numbertype" value="10">(減)值按鈕?

我認爲這是可能使用jQuery或可能javascipt的簡單的事,但我不知道如何..

我想要做這樣的事情:當你推

Input tyoe number with + and -

+按鈕,數值會變大爲1(0,12,3,4,5,6 .... 10000)

當您按下 - 按鈕時,數值會變小爲1(10,9,8 ,7,6,5,4 ... 0)

回答

4
$("#minus,#plus").click(function(){ 
    var value = parseInt($(".numbertype").val(), 10); 
    $(".numbertype").val(value + $(this).is("#minus") ? -1 : 1); 
}); 

我只是想看看怎麼做我自己。這裏有一個,將讓鼠標下去撥動:

var i = null; 
var d = 0; 
var $numbertype = null; 

function ToggleValue() { 
    $numbertype.val(parseInt($numbertype.val(), 10) + d); 
} 

$(function() { 
    $numbertype = $(".numbertype"); 

    $("#minus,#plus").mousedown(function() { 
     d = $(this).is("#minus") ? -1 : 1; 
     i = setInterval(ToggleValue, 100); 
    }); 

    $("#minus,#plus").on("mouseup mouseout", function() { 
     clearInterval(i); 
    }); 
}); 

工作示例:http://jsfiddle.net/M4BAt/5/

+0

不要忘記傳遞基數!我爲你解決了獵人! – 2012-02-02 13:23:39

+0

其實這是錯誤的。你必須在變量之前使用運算符「++」和「 - 」:'$(「numbertype」).val(++ value)' – ub1k 2012-02-02 13:29:05

+0

是的,發現之前發現的 – hunter 2012-02-02 13:30:09

0
$('#plus_but').click(function(){ 

     var val = $('.numbertype').val(); 

     var new_val = parseInt($('.numbertype').val(),10) + 1 ; 

     $('.numbertype').val(new_val); 

}); 


$('#minus_but').click(function(){ 

     var val = $('.numbertype').val(); 

     var new_val = parseInt($('.numbertype').val(),10) - 1 ; 

     $('.numbertype').val(new_val); 

}); 
+1

不要忘記基數! – 2012-02-02 13:24:17

+0

謝謝,我更新了 – 2012-02-02 13:26:41

+0

@丹尼爾你就像parseInt()參數的約翰尼Appleseed – hunter 2012-02-02 13:29:07

0

如果你替換你想要的加/減按鈕的圖像,這會工作:

<span class="plusminusunit"> 
    <span class="minus">-</span> 
    <input type="number" class="numbertype" value="10"> 
    <span class="plus">+</span> 
</span> 

$(".plus").click(function() { 
    var item = $(this).closest(".plusminusunit").find("input"); 
    item.val(Number(item.val()) + 1); 
}); 
$(".minus").click(function() { 
    var item = $(this).closest(".plusminusunit").find("input"); 
    item.val(Number(item.val()) - 1); 
}); 

工作例如:http://jsfiddle.net/jfriend00/FxEv3/

隨着圖像s,HTML看起來像這樣(使用你的圖片網址):

<span class="plusminusunit"> 
    <img class="minus" src="http://lt.tonybet.com/assets/shared/mikro_tv-50ee396d59d5c38f979ad3fd93578f4f.png"> 
    <input type="number" class="numbertype" value="10"> 
    <img class="plus" src="http://lt.tonybet.com/assets/shared/mikro_tv-50ee396d59d5c38f979ad3fd93578f4f.png"> 
</span> 
+1

我試了這個,但它也沒有工作.. – gordon33 2012-02-02 13:44:59

+0

@RobertasPalinskis - 你嘗試了什麼,因爲它在jsFiddle中工作正常? – jfriend00 2012-02-02 13:52:55

+0

看看這裏http://pastebin.com/58T4Mw5b – gordon33 2012-02-02 14:00:10