首页 > 解决方案 > 函数 JavaScript 在表格中添加行

问题描述

我有这个函数可以在表中添加一行,我需要在第一个单元格中有一个下拉列表,其中包含数据库中的值。我试过这个: td1.innerHTML = "@Html.DropDownList("SubTipologia", lista)"; 但不起作用。你能帮助我吗?下面是he函数:

function aggiungiRiga(my_table) {
    var tbody = document.getElementById(my_table).getElementsByTagName("tbody")[0];
    var colonne = document.getElementById(my_table).getElementsByTagName('th');
    var row = document.createElement('tr');
    var td1 = document.createElement("td");
    td1.innerHTML = "<div>@Html.DropDownList("SubTipologia", lista)</div>";
    var td2 = document.createElement("td");
    td2.contentEditable = true;
    td2.innerHTML = "<input type=text placeholder='Volume'>";
    var td3 = document.createElement("td");
    td3.contentEditable = true;
    td3.innerHTML = "<input type = text placeholder = 'Volume al m&sup3'>";
    var td4 = document.createElement("td");
    td4.contentEditable = true;
    td4.innerHTML = "<input type=text placeholder='Valore Totale'>";
    var td5 = document.createElement("td");
    td5.innerHTML = "<button type=button class='btn btn -default btn - sm'><span class='glyphicon glyphicon-trash'></span></button >";
    row.appendChild(td1);
    row.appendChild(td2);
    row.appendChild(td3);
    row.appendChild(td4);
    row.appendChild(td5);
    tbody.appendChild(row);
}

标签: javascripthtmlasp.net-mvcrazor

解决方案


如我所见,您尝试在客户端(浏览器)上运行服务器端代码。

浏览器不知道 Razor 或 Html 助手。所以你需要使用 HTML 而不是@Html.DropDownList("SubTipologia", lista)这样:

td1.innerHTML = "<div><select id='SubTipologia'></select></div>";

然后您可以将项目添加到<select>例如此处


推荐阅读