konto usunięte

Temat: Dynalmieczne tworzenie tabeli o wymiarach (X × Y)

Witam! Dopiero się uczę jQuery ale pomimo niezłego nagimnastykowania nie wiem jak to powinno się prawidłowo ugryźć: Jak napisać w jQuery generator tabeli o wymiarach (X,Y) ?? W JavaScript zrobiłem coś takiego:

function generuj_tabele()
{

/****
POLA FORUMLARZA w którzych bierze się wymiary:
·document.forms.formularz.kolumny ·document.forms.formularz.wiersze
DIV gdzie wstawiana będzie tabela:
·document.getElementById('wstaw')
***/

function generuj_tabele()
{
var tabela = document.createElement('table')

for(var x = document.forms.formularz.wiersze.value;x>0;x--)
{
var wiersz = tabela.appendChild(document.createElement('tr'))

for(var y = document.forms.formularz.kolumny.value;y>0;y--)
{
var komorka = document.createElement('td')

komorka.appendChild(document.createTextNode(x+"×"+y))
wiersz.appendChild(komorka)
}

}
document.getElementById('wstaw').appendChild(tabela)
}

} Krzysztof Chmielewski edytował(a) ten post dnia 07.04.11 o godzinie 16:08Krzysztof Chmielewski edytował(a) ten post dnia 07.04.11 o godzinie 16:09

konto usunięte

Temat: Dynalmieczne tworzenie tabeli o wymiarach (X × Y)

dobra dałem sobie już radę;)

pokażę jak to zrobiłem:

function generuj_tabele()
{

/****
POLA FORUMLARZA w którzych bierze się wymiary:
·document.forms.formularz.kolumny ·document.forms.formularz.wiersze
DIV gdzie wstawiana będzie tabela:
·document.getElementById('wstaw')
***/

function generuj_tabele()
{
tabela = $(document.createElement('table'))

for(var x = $('input[name="wiersze"]').val();x>0;x--)
{
var wiersz = $(document.createElement('tr'))
tabela.append(wiersz)

for(var y = $('input[name="kolumny"]').val();y>0;y--)
{ wiersz.append($(document.createElement('td')).text(x+"×"+y))
}

}
$('#wstaw').append(tabela)
}

}

#######################################

Czy to jest maksimum jeśli chodzi o jQuery??
Czy dało by się to jeszcze schludniej / krócej napisać??
Czy zamiast tych pętli FOR jQuery w tym przypadku proponuje coś lepszego??
Radosław Bułat

Radosław Bułat Ruby on Rails
developer,
Adtaily.com

Temat: Dynalmieczne tworzenie tabeli o wymiarach (X × Y)


function generuj_tabele() {
var $table = $("<table>");
var rows = $('input[name="wiersze"]').val(),
cols = $('input[name="kolumny"]').val();

for (var x = 1; x <= rows; x++) {
var $row = $("<tr>")

for (var y = 1; y <= cols; y++) {
$row.append($("<td>").text(x + "x" + y));
}
$table.append($row);
}
$("#wstaw").append($table);
}
Bartłomiej Liszka

Bartłomiej Liszka Programista PHP

Temat: Dynalmieczne tworzenie tabeli o wymiarach (X × Y)

Trochę szybsze rozwiązanie polega na operowaniu tylko na stringach.
Wielokrotne wywoływanie .append() sprawi, że skrypt będzie generował tabele przez długi czas.
Przykładowy kod ( nie sprawdzałem, czy działa poprawnie - tak poglądowo modyfikacja powyższego )

function generuj_tabele()
{
var tabela = '<table>';
var rows = $('input[name="wiersze"]').val(),
cols = $('input[name="kolumny"]').val();

for( var x = 0; x < rows; x++ )
{
tabela += '<tr>';

for(var y = 0; y < cols; y++)
{
tabela += '<td>'+ x + ' x '+ y + '</td>';
}

tabela += '</tr>';
}
tabela += '</table>';
$('#wstaw').append( tabela );
}
Bartłomiej Liszka edytował(a) ten post dnia 27.04.11 o godzinie 01:16

Następna dyskusja:

automatyczne sortowanie tabeli




Wyślij zaproszenie do