动态创建下拉列表 - Javascript

时间:2012-02-14 11:21:23

标签: javascript html drop-down-menu

我正在尝试开发一个JS函数,每次将新记录添加到数据库时(从定期检查的其他程序)创建一个新行。现在我可以获得检查数据库的功能,将记录添加到表中并动态显示。第一列是用户ID,第二列是我遇到问题的地方。我想包含一个下拉列表,但我不确定如何添加选项。我在第二列中有下拉列表,但没有可供选择的选项。有人有什么建议吗?

function addRow(tableID, user) {

var table = document.getElementById(tableID);

var rowCount = table.rows.length;
var row = table.insertRow(rowCount);

var colCount = table.rows[0].cells.length;

for(var i=0; i<colCount; i++) {
    var opt = document.createElement("option");

     tabbody=document.getElementsByTagName("tbody").item(2);
     cell1 = document.createElement("TD");
     cell2 = document.createElement("TD");
     textnode1=document.createTextNode(user);
     //textnode2=document.createTextNode("morecontent");
     textnode2=document.createElement("select");
     textnode2.setAttribute('id', 'focus');
     textnode2.options.add(opt);
     cell1.appendChild(textnode1);
     cell2.appendChild(textnode2);
     row.appendChild(cell1);
     row.appendChild(cell2);
     tabbody.appendChild(row);

    var newcell = row.insertCell(i);

    newcell.innerHTML = table.rows[0].cells[i].innerHTML;

以下是发送给它的HTML:

        <th colspan="2">Pending Alerts</th>
    <tr>
       <th>User</th>
       <th>Action</th>
        </tr>
    <tbody>
    </tbody>

2 个答案:

答案 0 :(得分:8)

textnode2 = document.createElement("select");

你需要做类似

的事情
var op = new Option();
op.value = 1;
op.text = "First entry";
textnode2.options.add(op);      

并重复您想要的参赛作品。

答案 1 :(得分:4)

我喜欢这种方法。

var dropdown = document.getElementById("MyDropDownList");
var opt = document.createElement("option"); 
opt.text = 'something';
opt.value = 'somethings value';
dropdown.options.add(opt);