0

動的に作成した列を削除しようとしています。列を削除するためのリンクは、最初の列でのみ機能します。2列目のリンクを押しても何も起こりませんが、メッセージが表示されます。

どうしたの?

コード :

$(document).ready(function(){
  function deleteCol(currentNode){$(currentNode).remove();}
  function deleteRow(currentNode){$(currentNode).parent().parent().remove();}  
  $('.AddColBtn').click(function(){
      var colLength = $('tr.header th.col').length+1;
      var rowLength = $('.row').length;
      var vAddColc = $('.col').clone().html();
      var vAddColr = vAddColc.replace("Col 1","Col "+colLength);
      var vAddCol = '<th class="col">'+vAddColr+'</input></th>';
      var vAddCell = '<td class="href" onclick="document.location.href="#11">Cell '+colLength+'</td>';
      $('.ColAdd').before(vAddCol);
      $('.RowDel').before(vAddCell);
    });

  $('.AddNewRow').click(function(){
        var clonedRow = $('.row').clone().html();
        var rowLength = $('.row').length+1;
        var n = clonedRow.replace("Row 1","Row "+rowLength);
        var appendRow = '<tr class = "row">' + n + '</tr>';  
        $('#myPureTable tr:last').after(appendRow);
    });

 $("a.delCol").click(function(event) {
   event.preventDefault();
   var colCnt = $('tr.header th.col').length;
   alert(colCnt);
   //var current_cell = $(this).closest("td");
   //var nb_columns = current_cell.closest('table').find('tr:eq(1) td').length+1;
   //var column_to_delete = current_cell.prevAll("td").length+1;
    //if (colCnt>1){deleteCol('table tr td:nth-child('+(nb_columns+'n-'+(nb_columns-column_to_delete))+')');}

   //$('table tr td:nth-child('+(nb_columns+'n-'+(nb_columns-column_to_delete))+')').remove();
  });   

 $('.RowDelete').live('click',function(){
      var rowLength = $('.row').length;
      if(rowLength > 1){deleteRow(this);}
      else{$('.employmentHistoryForm tr:last').after(appendRow);
            deleteRow(this);}
 });
});

フィドル

4

1 に答える 1