2013-07-03 5 views
2

Как создать динамическую таблицу с помощью JQuery Я создал с .append, но проблема в том, что когда я нажимаю на нее снова, создайте другую таблицу, но я хочу добавить ее в ту же таблицу, чтобы как я могу это сделать, пожалуйста, помогите мне.Создана динамическая таблица Jquery?

$(function() { 
    $("#addProduct").click(function() { 
     var table = $('<table></table>').addClass('foo'); 
     for (i = 0; i < 10; i++) { 
      var row = $('<tr></tr>'); 
      for (i = 0; i < 10; i++) { 
       var row1 = $('<td></td>').addClass('bar').text('result ' + i); 
       table.append(row); 
       row.append(row1); 
      } 
     } 
     $('#someContainer').append(table); 
    }); 
}); 

Это HTML

<button id="addProduct">Add Product</button> 

<div id="someContainer"></div> 
+0

'row1 = $ ('')', что это не доброе имя – mishik

+0

не может понять, что именно вы хотите? подробнее. –

+0

так что вы хотите добавить строку? Динамическое добавление строки в таблицу? – Olrac

ответ

5

Попробуйте мой ответ

$(function() { 
    $("#addProduct").click(function() { 
      var table = $('<table></table>').addClass('foo'); 
     for (var i = 0; i < 10; i++) { 
       row = $('<tr></tr>'); 
       for (var j = 0; j < 10; j++) { 
        var rowData = $('<td></td>').addClass('bar').text('result ' + j); 
        row.append(rowData); 
       } 
       table.append(row); 
      } 

     if ($('table').length) { 
      $("#someContainer tr:first").after(row); 
     } 
     else { 
      $('#someContainer').append(table); 
     } 
    }); 
}); 
+0

Спасибо большое, что вы меня помогли. Спасибо, спасибо. – user2424382

+5

Скрипка, кажется, исчезла. –

+0

вам нужно изменить i на j для вложенного цикла. – USer22999299

0

Если вы хотите, чтобы выполнить его только один раз попробовать использовать .one() в JQuery.

$(function() { 
    $("#addProduct").one("click", function() { 

     var table = $('<table></table>').addClass('foo'); 
     for (i = 0; i < 10; i++) { 
      var row = $('<tr></tr>'); 
      for (i = 0; i < 10; i++) { 
       var row1 = $('<td></td>').addClass('bar').text('result ' + i); 
       table.append(row); 
       row.append(row1); 
      } 
     } 
     $('#someContainer').append(table); 
    }); 
}); 

Проверка JSFiddle.

+0

Нет, мне просто нужно, чтобы повтор таблицы повторялся только 1 раз, а строка или столбец повторяются всякий раз, когда я нажмите на кнопку – user2424382

2

попробовать этот

$(function() { 
    $("#addProduct").click(function() { 
     if($('#someContainer table').length > 0) 
     { 
      var row = $('<tr></tr>'); 
      for(i=0; i<10; i++){ 
       var row1 = $('<td></td>').addClass('bar').text('result ' + i); 
       row.append(row1); 
      } 
      $('#someContainer table').append(row); 
     } 
     else 
     { 
      var table = $('<table></table>').addClass('foo'); 
      for(i=0; i<10; i++){ 
       var row = $('<tr></tr>'); 
       for(i=0; i<10; i++){ 
        var row1 = $('<td></td>').addClass('bar').text('result ' + i); 
        table.append(row); 
        row.append(row1); 
       } 
      } 
      $('#someContainer').append(table); 
     } 
    }); 
}); 

live demo здесь.

+0

Спасибо, что он работает отлично Спасибо – user2424382

0
$(function() { 
    $("#addProduct").click(function() { 
    var table 
    if($('#someContainer').find("table").length > 0){ 
      table =$('#someContainer').find("table"); 
    }else{ 
      table = $('<table></table>').addClass('foo'); 
    } 

     for (i = 0; i < 10; i++) { 
      var row = $('<tr></tr>'); 
      for (i = 0; i < 10; i++) { 
       var row1 = $('<td></td>').addClass('bar').text('result ' + i); 
       table.append(row); 
       row.append(row1); 
      } 
     } 
     $('#someContainer').append(table); 
    }); 
}); 

попробовать это один DEMO

+1

Спасибо, что он работает Прекрасно Спасибо – user2424382