2014-02-26 111 views
0

我試圖製作一個按鈕,當我按下它時 - >它添加了另一個輸入按鈕。還有一個按鈕,當我按下 - >它會刪除該行。在javascript中刪除文本輸入

這是我到目前爲止的代碼:

javascript代碼:

$(function() { 

     scntDiv = $('#p_scents'); 
     i = $('#p_scents p').size() + 1; 

     $('#addScnt').on('click', function() { 
      $('<p><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" placeholder="הכנס מספר טלפון" /> <a href="#" id="remScnt"><img src="images/deleteSmaller.PNG"></a>').appendTo(scntDiv); 
      i++; 
      return false; 
     }); 


     $('#remScnt').on('click', function() { 
      if(i > 2) { 
       $(this).parents('p').remove(); 
       i--; 
      } 
      return false; 
     }); 

}); 

HTML \ PHP代碼:

<table> 
      <tr> 
       <td>phone: <a href="#" id="addScnt"><img class="smallImages1" src="images/add.png"/></img></a></td><td><label for="p_scnts"><input type="text" name="phone" id="phone" value="<?php if (isset($phone[0])) echo $phone[0]; ?>" placeholder="insert phone" required/></label></td> 

      </tr> 
      <tr> 

      <td></td><td id="p_scents"> 

       <p> 

       </p> 

      </td> 
      </tr> 
</table> 

當我按下「 ADD'按鈕,它的工作原理和另一個輸入出現..但是當我按下刪除按鈕...沒有什麼HAPPENS。我的代碼中的問題在哪裏?我需要解決什麼問題?

回答

4

嘗試事件代表團

$('#p_scents').on('click', '#remScnt', function() { 

,而不是

$('#remScnt').on('click', function() { 

另外一個建議,最好的做法是避免ID對可能不止一次出現在頁面元素中,ID應該是唯一的。在你的情況下,因爲你可以添加多個文本輸入,所有的刪除按鈕將具有相同的ID。您可以改爲使用類,並可以相應地更改代碼。

$('#p_scents').on('click', '.remScnt', function() {