2012-09-18 19 views
0

我有一個包含大約50行的表。每行的最後一個單元格是一個圖像,點擊該圖像,我會在該特定行的每個單元格中顯示文本框,以便用戶可以編輯這些值。爲此,我在圖像上單擊了一個Javascript,我將遍歷該特定行,並將每個td的innerHTML更改爲具有文本框。克隆節點不工作後更改innerhtml

function insertEdittableRow(ids){ 
    var row = $(ids).closest("tr"); 

    var tdvar = row.find('td[class=mainServer]')[0]; 

     var servname = tdvar.innerHTML.trim(); 

     tdvar.innerHTML = "'<'INPUT id=updServerName class=TextBoxStyle value='" + servname 
       +"' type=text name=updServerName/> "; 

    } 

這工作正常。我想要做的第二步是排序。

點擊表格的標題,我正在整理表格。排序的JavaScript是這樣的。它佔用所有行,將其放入一個具有舊索引(rownumber)的數組中並進行排序。然後它遍歷數組並創建一個新的排序的tbody。表中舊的未分類的tbody將被替換爲這個新的已排序的tbody。

for(var i=0, len=arrayOfRows.length; i'<'len; i++) { 
     newTableBody.appendChild(rows[arrayOfRows[i].oldIndex].cloneNode(true)); 
    } 

    table.replaceChild(newTableBody,tbody); 

這也很好。

但問題是,現在,單擊最後一個單元格中的圖像按鈕,如第一部分所述,該功能無法正常工作。我把調試器放在那個javascript函數中,它打到那裏並形成文本並分配給最後一個td的innerHTML,但是在頁面中我沒有看到文本框。

總之,在排序之前,文本框被插入爲innerHTML,但在對cloneNode進行排序後,創建了一個新的排序的tBODY並插入表中,但innerHTML分配不起作用。

任何幫助表示讚賞。

+0

作爲解決辦法,我停止做cloneNode時排序。相反,我做了行的每個單元格的createElement和appendChild,並將行添加到tbody – Jeevan

回答

0

作爲解決辦法,我在排序時停止了cloneNode。相反,我沒有createElement和appendChild行的每個單元格和appendChild行的tbody