簡體   English   中英

如何正確運行此腳本以在運行時顯示表?

[英]How to run this script correctly to display the table in runtime?

我正在嘗試使用腳本在運行時顯示包含數據的表。 我從表頭調用了腳本。 是否可以從表頭調用函數。

</HEAD> 
<BODY> 
<TABLE id="dataTable" width="350px" border="1" onload="start('dataTable');"> 
<TR> 
<THEAD>
<TR>
<TH>Select</TH> 
<TH>Id</TH> 
<TH>Name</TH>
<TH>Age</TH>
<TH>Dept</TH>
<TH>Option</TH> 
</TR> 
    </THEAD>

    </TABLE> 

</BODY> 
</HTML>

腳本是

    function start(dataTable) {
            var data = new Array();
        var id;
        var name;
        var age;
        var dept;
        data[0].id = "1";
        data[0].name = "Tamil";
        data[0].age = "23";
        data[0].dept = "CSE";
        data[1].id = "1";
        data[1].name = "Tamil";
        data[1].age = "23";
        data[1].dept = "CSE";
        data[2].id = "1";
        data[2].name = "Tamil";
        data[2].age = "23";
        data[2].dept = "CSE";


        for (var i = 0; i<data.length; i++)
            {
            var table = document.getElementById(tableID);
            var rowCount = data.length;
            var row = table.insertRow(rowCount);

        //Check box
            var cell1 = row.insertCell(0);
            var element1 = document.createElement("input");
            element1.type = "checkbox";
            cell1.appendChild(element1);
        //ID Column
            var cell2 = row.insertCell(2);
            cell2.innerText = data[i].id;
        //Name Column
            var cell3 = row.insertCell(3);
            cell3.innerText = data[i].name;
        //Age Column    
            var cell4 = row.insertCell(4);
            cell3.innerText = data[i].age;
        //Dept Column
            var cell5 = row.insertCell(5);
            cell5.innerText = data[i].dept;
        //Button Column
            var cell6 = row.insertCell(6);
            var element2 = document.createElement("input");
            element2.setAttribute("type", "button");
            element2.setAttribute("id", "dataRow"+id);
            element2.setAttribute("value", "Edit");
            cell6.appendChild("element2");
            }
      }

輸出只是標題。 我無法將數據放入表中。

感謝您提前提出建議。

只需在</table>之后的<script>標記中調用腳本。 您的腳本應該能夠看到表格元素,因為它們已經被加載

寬度=“ 350px”

px是CSS。 使用HTML屬性時沒有px

onload =“ start('dataTable');”

<table>上沒有load事件,將永遠不會調用它。 在表后放置<script>元素以調用該函數。

var data = new Array();

為了保持理智,請使用[]數組文字語法:

var data= [
    {id: 1, name: 'Tamil', age: 23, dept: 'CSE'},
    ...
];

var id; [和姓名等]

您永遠不會使用這些變量。 聲明var與對象的成員無關。

document.getElementById(tableID)

您稱該變量為dataTable而不是tableID

cell2.innerText = data [i] .id;

innerText是非標准的IE擴展。 如果可以的話,請考慮首先使用標准的textContent屬性,或者只使用普通的舊cell2.appendChild(document.createTextNode(data[i].id)); ,這兩種方法均得到廣泛支持。

element2.setAttribute(“ type”,“ button”);

切勿在HTML文檔中使用getAttribute / setAttribute ,因為IE中存在錯誤。 而是使用DOM Level 2 HTML屬性,該屬性無論如何都更易於閱讀。 element2.type= 'button';

cell6.appendChild(“ element2”);

那是一個字符串,而不是變量element2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM