2013-04-22 52 views
1

我有:

我有一個只讀文本框和兩個鏈接。而第二鏈路進行1jQuery:如果值等於0,則停止遞減文本框值

遞減值第一個鏈接遞增1的文本框的值,我需要什麼:

我需要的文本框的值停在零遞減(我不想負號)。

我的代碼:

的jQuery:

jQuery(".increment").on('click',function(){ 
    jQuery(this).next(".amount input").val(parseInt(jQuery(this).next(".amount input").val())+1); 
}); 

jQuery(".decrement").on('click',function(){ 
    jQuery(this).prev(".amount input").val(parseInt(jQuery(this).prev(".amount input").val())-1); 
}); 

注:。接下來和.prev的使用,因爲我有多個文本框。

HTML:

<!--This block of code is occurs more than once.--> 
<td class="amount"> 
    <a href="#" class="increment"></a> 
    <input type="text" readonly="readonly" value="0" /> 
    <a href="#" class="decrement"></a> 
</td> 

鬆動的猜測:

...至於遞減...

// open onclick code here 

    if (jQuery(this).prev(".amount input").val != "0"){ 

     // decrement code here 

    } 

// close onclick code here 

資源:

我的工作代碼模擬此堆棧溢出回答:https://stackoverflow.com/a/12209831/835950

...在哪個小提琴存在方便:http://jsfiddle.net/iMaverick/S3PLG/2/

回答

3

Demo

$("#down").on('click',function(){ 
    var value = (parseInt($("#incdec input").val() , 10) - 1); 
    $("#incdec input").val((value-1) < 0 ? 0 :(value -1)); 
}); 
+1

感謝您的解決方案。當我整合.next和.prev時,這很容易工作。 – 2013-04-22 05:34:58

+2

爲'parseInt'指定一個基數。 – Blender 2013-04-22 05:53:52

+0

謝謝,我忘記了..它的真正意義..謝謝指出。 – PSL 2013-04-22 05:56:01

1

差不多:

$(document).ready(function() { 
    var $textbox = $("#incdec input"); 

    $("#up").click(function(){ 
     var value = parseInt($textbox.val(), 10); 

     $textbox.val(value + 1); 
    }); 

    $("#down").click(function(){ 
     var value = parseInt($textbox.val(), 10); 

     if (value > 0) { 
      $textbox.val(value - 1); 
     } 
    }); 
}); 

HTML5還包括<input type="number">元素:

<input type="number" min="0" value="1" /> 
+0

感謝您的解決方案。儘管條件結構與我嘗試的條件結構相匹配,但當我集成.next和.prev時,我無法實現您的代碼,如我的問題中的示例中所述。我還不確定以下逗號代表什麼。我最初考慮了HTML5解決方案,但選擇了一種手動解決方案,使我可以更好地控制設計。 – 2013-04-22 05:30:58

+0

@DominorNovus:'10'是以10爲底。如果你沒有指定基數,'parseInt()'可以自由選擇任何想要的。至於你的問題,你需要提供更多的上下文。你的實際HTML是什麼樣的? – Blender 2013-04-22 05:34:00

+0

這是可以理解的。我沒有強調爲什麼我使用.next和.prev。我編輯了我的問題以提供所需的上下文。請參閱「我的代碼:」部分,特別是註釋和標記。你可以在這裏查看我可以從PSCoder的答案中得到的工作代碼:http://pastebin.com/WneuWRrn – 2013-04-22 05:52:14