我有一個包含大約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分配不起作用。
任何幫助表示讚賞。
作爲解決辦法,我停止做cloneNode時排序。相反,我做了行的每個單元格的createElement和appendChild,並將行添加到tbody – Jeevan