动态创建下拉列表 - Javascript

mky*_*ong 4 html javascript 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;
Run Code Online (Sandbox Code Playgroud)

以下是发送到的HTML:

        <th colspan="2">Pending Alerts</th>
    <tr>
       <th>User</th>
       <th>Action</th>
        </tr>
    <tbody>
    </tbody>
Run Code Online (Sandbox Code Playgroud)

Eug*_*eck 9

textnode2 = document.createElement("select");
Run Code Online (Sandbox Code Playgroud)

你需要做点什么

var op = new Option();
op.value = 1;
op.text = "First entry";
textnode2.options.add(op);      
Run Code Online (Sandbox Code Playgroud)

并重复您想要的条目.

  • 没关系。我知道了。我必须将`new option()`更改为`document.createElement(“ option”);`谢谢您的帮助! (2认同)
  • 应该是Option()-大写O (2认同)

Ces*_*sar 5

我喜欢这种方法。

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