Witam, mam mały problem.
Tworzę dynamicznie tabele (dodawanie wiersza na przycisk).
Chciałbym ukryć ostatnie 2 kolumny w wierszu.
Zrobiłem tak:
Działa to ale przy dodawaniu wierszy przez JS nie kopiuje się klasa i zostają pola.
Może ktoś wie jak to zrobić?
JS na dodawanie wiersza:
var limit = 5;
var counter = 1;
function addRow(tableID) {
if (counter == limit) {
alert("Max: 5.");
}
else {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount -1);
var colCount = table.rows[1].cells.length;
for(var i=0; i<colCount; i++) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[1].cells[i].innerHTML;
//alert(newcell.childNodes);
switch(newcell.childNodes[0].type) {
case "text":
newcell.childNodes[0].value = "";
break;
case "checkbox":
newcell.childNodes[0].checked = false;
break;
case "select-one":
newcell.childNodes[0].selectedIndex = 0;
break;
}
}
counter++;
}
}
Ok, dodałem do JS:
var tr = table.getElementsByTagName('tr'),td;
for(var i=1; td = tr[i++]; ){
td.getElementsByTagName('td')[6].style.display = 'none';
td.getElementsByTagName('td')[7].style.display = 'none';
}
ale konsola zgłasza mi błąd TypeError: td.getElementsByTagName(...)[6] is undefined
Ok, jeszcze inaczej to udało się załatwić:
$('td:nth-child(6)').hide();
$('td:nth-child(7)').hide();