首页 > 解决方案 > 使用 Jquery 添加@Html.DropDownList

问题描述

我有一个插入 tr/td 的函数。我需要插入一个 @Html.DropDownList 但此代码不起作用。我正在使用 C# 开发一个系统,使用 Visual Studio 引导。

    function AddItem() {
    var nItem = Number($("#nItem").val()) + 1;
    $("#nItem").val(nItem);
    var div = document.createElement('tr');
    div.innerHTML = '<td><input type="text" class="item-control" id="Item" name="Item" value="' + nItem + '" style="width:32px;background-color: #e9e9e9;text-align: center" readonly /></td>';
    div.innerHTML += '<td colspan="2"><input type="text" class="item-control Qtd" id="Qtd_' + nItem + '" name="Item" value="0" /></td>';
    div.innerHTML += '<td colspan="2">@Html.DropDownList("UnMedId", null, "-", htmlAttributes: new { id = "UnMed_", Name = "Item", @class = "form-control" })</td>';
    document.getElementById("itens").appendChild(div);
}

谢谢!

标签: c#jqueryasp.net-mvc

解决方案


谢谢大家。我在控制器中使用 Json 并使用循环来创建选择。在控制器中:

var UnMedId2 = new SelectList(db.UnMeds, "UnMedId", "Simbolo");
ViewBag.UnMedId2 = JsonConvert.SerializeObject(UnMedId2);

在 JavaScript 中:

var sel = '<select name="cars" id="cars">'
    var UnMed = @Html.Raw(ViewData["UnMedId2"]);
    for (var i = 0; i < UnMed.length; i++) {
        sel += '<option value="' + UnMed[i].Value + '">' + UnMed[i].Text + '</option>';
    }
    sel += '</select >'

谢谢


推荐阅读