2017-09-02 108 views
0

這是我的代碼,在其中我使用了兩個<textbox>和兩個<button>標籤。我們的目標是,我想點擊它的各個按鈕後增加一個<textbox>值:按鈕單擊不同ID時文本框的遞增值

<!DOCTYPE html> 
<html> 
<head> 
    <title> My first increment </title> 
</head> 
<body> 

    <input type="text" name="TextBox" id="TextBox1" value="0" /> 
    <input type="Button" id='AddButton1' value="+" /> 

    <input type="text" name="TextBox" id="TextBox2" value="0" /> 
    <input type="Button" id='AddButton2' value="+" /> 


    <script src="http://code.jquery.com/jquery-1.4.3.min.js"></script> 
    <script> 
     $(document).ready(function(){ 
      var i = 1; 
      $('#AddButton'+i).click(function() { 
       var counter = $('#TextBox'+i).val(); 
       counter++ ; 
       $('#TextBox'+i).val(counter);    
      }); 
      i++; 
     }); 
    </script> 
</body> 

我的問題是,我不能夠在一個循環遞增值。

對於單個<textbox>內部值正在遞增,但是當我使用i++時,行爲不會重複。

+0

讓我看看,如果我理解正確。你想點擊按鈕1並在第一個文本框上增加?然後點擊第二個按鈕併爲第二個文本框做?爲什麼你要通過這種方法呢? – Valkyrie

+0

有沒有其他方法可以幫助初學者 – Peace

+1

我給出了一個答案,但是要指出你使用的jQuery版本是超舊的。嘗試升級以獲得更好的體驗。 –

回答

3

事情是,你沒有真正做任何事情來找到Id。你不能只增加任何東西。這是我想做到這一點:

<!DOCTYPE html> 
<html> 
<head> 
    <title> My first increment </title> 
</head> 
<body> 
    <input type="text" name="TextBox" id="TextBox1" value="0" /> 
    <input type="Button" id='AddButton1' value="+" /> 
    <input type="text" name="TextBox" id="TextBox2" value="0" /> 
    <input type="Button" id='AddButton2' value="+" /> 

    <script src="http://code.jquery.com/jquery-1.4.3.min.js"></script> 
    <script> 
     $(document).ready(function(){ 

      $('#AddButton1, #AddButton2').click(function(){ 
       var id = $(this).attr('id').replace(/AddButton/, ''); 
       var num = parseInt($('#TextBox' + id).val()); 
       num++; 
       $('#TextBox' + id).val(num);    
      }); 
     }); 
    </script> 
</body> 
1

試試這個代碼:

$(document).ready(function(){ 
    $('[id^="AddButton"]').click(function() { 
     var counter = $(this).prev().val(); 
     counter++ ; 
     $(this).prev().val(counter);   
    }); 
}); 
相關問題