2011-09-02 2 views
0

Я создаю динамическую таблицу через javascript. Я не принимаю. строки и столбцов от пользователя и создания таблицы. Во второй раз, когда пользователь входит, я удаляю все существующие строки и создаю новые строки. Все работает нормально, но для удаления, когда я использую прокомментированный код, он не работает, пока другой работает нормально. Может кто-нибудь сказать мне, в чем причина этого?Проблема с удалением динамических табличных строк

// удаление PreExisting строки: -

for(k=tblObj.rows.length;k>0;k--) 
tblObj.deleteRow(k-1); 

Над Logic работает нормально, но ниже один не работает, почему ???

  /*for(k=0;k<Number(tblObj.rows.length);k++) 
       { 
        tblObj.deleteRow(k); 
       }*/ //This Logic is not working:Why??? 
+0

* Эта логика не работает *: Вы получаете сообщение об ошибке ? – Nivas

+0

Не могли бы вы использовать jQuery? [Flexgrid] (http://www.flexigrid.info) - отличный инструмент для создания больших таблиц. – Nivas

+0

, даже если я удалю Number(), тогда также существует проблема – Pranav

ответ

4

Значение tblObj.rows.length вычисляется для каждого выполнения цикла, а массив становится короче каждый раз.

Попробуйте с

var len = tblObj.rows.length; 
for(k=0;k<len;k++) 
{ 
    tblObj.deleteRow(0); 
} 
+1

этот код не удастся после удаления подсчета строк –

+0

там, я думаю, теперь все в порядке :) –

+0

Oh My god .. Thanx A lot .. – Pranav

4

При удалении строки с самого начала вы должны удалить первую строку rowCount раз:

var rowCount = tblObj.rows.length; 
for(k=0;k<rowCount;k++) 
{ 
    tblObj.deleteRow(0); 
} 
+0

: -Thanx A lot .. – Pranav

Смежные вопросы