0
我必須在HTML頁面中動態顯示覆選框並從數據庫中獲取它們的值。Chanding innerHTML DIV更改表格屬性
我使用的技巧是使用Java創建整個表的HTML,然後使用AJAX我這樣做
var div = document.getElementByID("div").innerHTML = htmlCode;
但問題是
在htmlCode可變,在html就像
<table width="100%">
<tr>
<td width="50%">......
但是當我檢查div.innerHTML它顯示像
<TABLE width="100%">
<TBODY>
<TR>
<TD width="50%">
<?xml:namespace prefix = ....
爲什麼它們變成大寫,爲什麼添加了xml:namaesapce前綴?
這會引起問題,因爲表格未正確顯示。
有沒有其他更好的方法來做到這一點,而不使用innerHTML?
爲代表的代碼是
String html = "<table width=\"100%\">";
for (Iterator it = lookupList.iterator(); it.hasNext();)
{
HashTree lookupElement = (HashTree) it.next();
String code = lookupElement.getChildTagValue ("CODE");
String text = lookupElement.getChildTagValue ("TEXT");
String labelText = "";
if(indexLookupElement == 0)
labelText = "First Checkbox label";
html = html + "<tr><td width=\"50%\" >" +
+
"<input type=\"checkbox\" id=\"item" + code + "\" />" +
"<html:label " +
"id=\"_Description\"" +
"name=\"_Description\"" +
">" + text +
"</html:label>" +
"<td width=\"50%\" >" +
"</td></tr>";
indexLookupElement += 1;
}
html = html + "</table>";
感謝,
艾登
不要把它當作答案,但'document.getElementByID'是錯誤的..它應該是'document.getElementById'(id = lowercase)和'div.innerHTML'可能是'undefined' ..你應該提供更多的代碼https://jsfiddle.net/uo2gjvxL/12/ – Merlin
請提供代碼的一部分,您生成html –
我只是這樣做在主頁....創建一個div .....然後創建表<表寬度= \「100%\」>然後在該表中動態添加
回答
這不是創建HTML代碼服務器端的最佳做法。如果您確定自己的文檔中包含表格,最好將其作爲文檔結構的一部分,並只提供Java代碼中的變量。即使表格是有條件的,你也可以考慮隱藏/取消隱藏變量。如果您的網頁的HTML代碼是正確的,我相信這種方法可以解決您的問題。
更新
測試這樣的:
在你的代碼已經丟失TD的結束標記,我做了一些改動。看看這是否能解決你的問題。
來源
2016-10-02 14:38:33
問題是我在數據庫中動態獲取複選框的名稱/標籤。它可以隨時由用戶更改。我必須選擇數據庫標籤/複選框的名稱,然後顯示它們。所以,他們的人數不固定。例如書名,書籍作者.....等用戶可以從表格中刪除書籍作者,然後我們不應該創建該書籍作者複選框 – Aiden
我已用代碼更新了問題 – Aiden
相關問題