2012-03-02 57 views
1

我想單擊時將輸入文本值增加1。這是一個非常簡單的任務,但我無法使其工作。這裏是代碼:總和而不是連接

<script type="text/javascript"> 
$('#field').bind('click', function(){ 
    old_value = $(this).attr('value'); 
    $(this).attr('value', (old_value+1)); 
}) 
</script> 
<form action=""> 
    <input type="text" value="1" id="field"/> 
</form> 

而且在點擊輸入後,它的值不會遞增。取而代之的是,在值的末尾添加數字1,即,在3次點擊之後,輸入值是1111。你有什麼想法我做錯了什麼?提前致謝。

回答

0

您需要將字符串解析成一個數字:

parseInt($(this).val(), 10) 
2

一元+運營商可以方便地把字符串轉換成若干

$(this).attr('value', (+old_value + 1)); 

或者你可以使用parseInt像其他答案描述的那樣。