【问题标题】:Creating Dropdown Dynamically - Javascript动态创建下拉菜单 - Javascript
【发布时间】:2012-02-14 11:21:22
【问题描述】:

我正在尝试开发一个 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>

【问题讨论】:

    标签: javascript html drop-down-menu


    【解决方案1】:

    之后

    textnode2 = document.createElement("select");
    

    你需要做类似的事情

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

    然后重复您想要的条目。

    【讨论】:

    • 如何定义 option()?我收到一条错误消息,显示“ReferenceError:未定义选项”
    • 没关系。我知道了。我不得不将 new option() 更改为 document.createElement("option"); 感谢您的帮助!
    • 应该是Option() - 大写O
    • 很好的@EugenRieck 可以修复它,编辑必须至少为 6 个字符 ;)
    • 完成!很抱歉。
    【解决方案2】:

    我喜欢这种方法。

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

    【讨论】:

      猜你喜欢
      • 2022-01-06
      • 2012-08-11
      • 2014-09-26
      • 2017-01-06
      • 2014-11-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 2023-01-30
      相关资源
      最近更新 更多