Ho una pagina con tabella. In tbody
Ho mostrato i dati tramite angularjs
. In thead
ho la stessa riga di tbody
, ma è vuoto, e quando ho riempito il campo di input e click
da qualche parte (messa a fuoco persa), una riga aggiunge al mio tavolo (thead
). E ho bisogno di fare qualche bandiera sulla riga piena, come ad esempio - rowAdded = true
, perché senza che io clic su input di una riga e aggiunge righe. E un altro problema è che le righe si aggiungono alla fine di table
. è tutte le opere di questo script:Come inserire nuove righe in qualche posizione nella tabella
var tbody = $('.table-timesheet thead');
tbody.on('blur', ':text', function() {
var tr = $(this).closest('tr'),
notEmpty = $(':text', tr).filter(function() {
return $.trim($(this).val()) != '';
}).length;
if (notEmpty) {
$('.note-input').css('width', '88%').css('float', 'left');
$('.timesheet-delete-button').css('display', 'block');
//tr.clone(true).appendTo(tbody).find(':text').val('');
insRow();
}
});
function deleteRow(row) {
var i = row.parentNode.parentNode.rowIndex;
document.getElementById('table-body').deleteRow(i);
}
function insRow() {
var table = document.getElementById('table-body');
var newRow = table.rows[1].cloneNode(true);
var len = table.rows.length;
newRow.cells[0].innerHTML = len;
var inp1 = newRow.cells[1].getElementsByTagName('input')[0];
inp1.id += len;
inp1.value = '';
var inp2 = newRow.cells[2].getElementsByTagName('input')[0];
inp2.id += len;
inp2.value = '';
table.appendChild(newRow);
}
C'è il mio esempio in plunker: http://plnkr.co/edit/rcnwv0Ru8Hmy7Jrf9b1C?p=preview
Si tratta di un Difficile leggere la tua domanda in modo chiaro e penso che siano davvero molteplici domande in una. Stai cercando di aggiungere la nuova riga alla testa del tavolo (thead)? Se è così, perché non vuoi usare Tbody? In genere è per informazioni su ciò che le colonne avranno. Tutta la funzionalità generale dell'aggiunta di una riga sembra essere interrotta perché ogni volta che aggiungo informazioni in una delle colonne si crea una nuova riga. – IfTrue
Demo non contiene alcun codice angolare. Sembra davvero che tu stia facendo troppa manipolazione DOM e anche fare affidamento su document.ready. L'approccio è completamente sbagliato per lavorare all'interno di un'app angolare. Si dovrebbe aggiornare il modello di dati per generare la vista, non facendo i propri inserimenti di riga. Si prega di aggiornare la demo in modo angolare almeno viene riavviato con il controller se si desidera ulteriore aiuto – charlietfl
@HUSTLIN si dovrebbe aggiungere un tag di angular.js anche con esso –