Jquery удалить строку таблицы не работает - PullRequest
0 голосов
/ 28 октября 2010

По сути, нажмите кнопку, чтобы сгенерировать строку таблицы, затем нажмите кнопку минус, чтобы удалить строку.

Я попробовал это несколькими способами ниже, но это не работает. -.bind -.жить -нормальный способ

Кажется, что он не работает, потому что таблица генерируется динамически.

<script language="JavaScript" src="jquery-1.4.3.min.js" type="text/javascript"></script>

 <script type="text/javascript">

 $(document).ready(function() {    

  var html = '';
  var rows= 5;
  var cols= 4;

  $('#btnGenTable').bind("click", function() {

   for (var r = 1; r <= rows; r++) 
   {
    html += '<tr>';

    for (var c = 1; c <= cols; c++) 
    {
     cellText= "row " + r + " col " + c;
     html += '<td>aa</td>';
    }

    html+= '<td><img class="delete" src="minus.jpg" /></td>';

    html += '</tr>';
   };


   $('.inner').html('').append(html);

  });


$('table tbody tr td img.delete').click(function(){
    alert('clicked');
        $(this).parent().parent().remove();
});

 });

</script>

<br />


<table id="tblsize" class="inner" border="1" width="80%">
</table>


<input type=button value="Generate Table" name="btnGenTable" id="btnGenTable" class=text100>

Ответы [ 3 ]

2 голосов
/ 07 марта 2013

Я знаю, что этот вопрос старый, но у меня была такая же проблема.Метод live () устарел с версии 1.7 jQuery и будет удален в версии 1.9.Вы можете использовать это вместо:

$(document).on('click', '.delete', function(){
    $(this).closest('tr').remove();
});
2 голосов
/ 28 октября 2010

Чтобы удалить строку при нажатии на изображение, вставьте следующий код в свой блок $ (document) .ready.

$('img.delete').live('click', function() {
    $(this).parent().parent().remove();
});
1 голос
/ 28 октября 2010

все, что вам нужно, это:

  $('.delete').live('click', function(){
          $(this).closest('tr').remove();   
      });

в обработчике готовности документа.

вот рабочий пример: http://jsfiddle.net/5bWcT/

...