2013-11-28 120 views
0

我有一組行要刪除,但是當我使用jquery刪除它沒有工作。 它沒有刪除克隆,但它刪除了原始文件。我想要的是當點擊刪除按鈕時,父母父母的行將被刪除。jquery刪除不起作用克隆

HTML

<tr class="expnedu-edu-record"> 
        <td> 
         <select name="expnedu-record-tingkat" class="expnedu-record-tingkat"> 
          <option>SD</option> 
          <option>SMP</option> 
          <option>SMA</option> 
          <option>SMK</option> 
          <option>D3</option> 
          <option>S1</option> 
          <option>S2</option> 
          <option>S3</option> 
          <option>Lainnya</option> 
         </select> 
        </td> 
        <td> 
         <select name="expnedu-record-tahun-min" class="expnedu-record-tahun-min"> 
          <?php 
          $i = date('Y'); 
          for($i;$i>=1900;$i--): ?> 
          <option><?php echo $i; ?></option> 
          <?php endfor; ?> 
         </select> - <select name="expnedu-record-tahun-max" class="expnedu-record-tahun-max"> 
          <?php 
          $i = date('Y'); 
          for($i;$i>=1900;$i--): ?> 
           <option><?php echo $i; ?></option> 
          <?php endfor; ?> 
         </select> 
        </td> 
        <td> 
         <input type="text" name="expnedu-record-instansi" class="expnedu-record-instansi" /> 
        </td> 
        <td> 
         <input type="text" name="expnedu-record-nilai" class="expnedu-record-nilai" /> 
        </td> 
        <td> 
         <input type="button" value="X" class="expnedu-record-delete"/> 
        </td> 
       </tr> 

jQuery的

var edu_record = $('.expnedu-edu-record').clone(); 
$('#expnedu-add-edu').click(function(){ 
       var new_record = edu_record.clone(false); 
       new_record.appendTo('.edu-edit-table'); 
      });  
    $('.expnedu-record-delete').on('click',function(){ 
        $(this).parent().parent().remove(); 
       }); 

請提供解決方案,謝謝

回答

2

既然你是在處理動態的元素,你需要使用event delegation。的on()事件代表團語法

$(static-ancestor-element).on(event, dynamic-element-selector, handler) 

所以

$('.edu-edit-table').on('click', '.expnedu-record-delete', function() { 
    $(this).closest('tr').remove(); 
}); 

還可以使用.closest()的祖先tr元素

+0

驚人的..我想事件之前委派,但它並不能工作,因爲我沒有不設置動態元素選擇器。 現在可以工作。謝謝 – godheaper