2014-02-26 65 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() {