Как создать динамическую таблицу? - PullRequest
1 голос
/ 27 ноября 2009

Есть ли способ создать динамический элемент таблицы HTML, используя Jquery.

В этой таблице я хочу добавить внутренний элемент Td в качестве тега привязки.

Ответы [ 3 ]

2 голосов
/ 27 ноября 2009

Вы можете сделать что-то вроде этого

Используйте функцию append

$("#divID").append("<table><tr><td><a href='3#'>Click me</a></td></tr></table>");

или просто создайте разметку таблицы как строку и используйте

HTML ()

чтобы добавить его в контейнер

var strTable = "<table><tr><td><a href='#'>Click</a></td></tr></table>";

$("#div1").html(strTable.toString() );

Если у вас более сложная разметка, используйте массив

var arrTableMarkup = new Array();
arrTableMarkup.push ( "<table>" );
arrTableMarkup.push (     "<tr>" );
arrTableMarkup.push (       "<td>" );
arrTableMarkup.push (           "<a id='anch1' href='#'>Click</a>" );
arrTableMarkup.push (       "</td>" );
arrTableMarkup.push (       "</tr>" );
arrTableMarkup.push ( "</table>" );

$("#div1").html(arrTableMarkup.join('') );

Редактировать

Если вам нужно добавить событие onclick, вы можете указать тег привязки id и затем использовать метод live для назначения события.

$("#anch1").live ( "click" , function () { EventHandlerFunction() } );
1 голос
/ 08 сентября 2012

Звоните createDynamicTable(tbody, rows, cols)

<script typr="text/javascript">
function createDynamicTable(tbody, rows, cols)
{
    if (tbody == null || tbody.length < 1)return;

    for (var r = 1; r <= rows; r++) {
            var trow = $("<tr>");
        for (var c = 1; c <= cols; c++) {
            var input = $("<a />");
            $("<td>")
                    .addClass("tableCell")
                    .append(input)
                    .data("col", c)
                    .appendTo(trow);
        }
        trow.appendTo(tbody);
    }
}
</script>
0 голосов
/ 27 ноября 2009

Самый простой (и, возможно, самый быстрый) способ сделать это из HTML:

var table = $('<table><tr><td><a href="#">Hello World!</a></td></tr></table>');

Выполнение table.find('a') даст вам привязку, если необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...