在Javascript中填充动态DropDownListFor

时间:2018-01-18 16:19:42

标签: javascript jquery ajax asp.net-mvc dropdown

我有几个下拉列表...第一个有一个调用Javascript函数的onchange事件:

@for (int i = 0; i < Model.things.Count; i++)
{
    <tr>
        <td>
            @Html.DropDownListFor(m => m.Category[i].ID, ViewBag.Category as SelectList, "Please select a Category", new { @class = "class1", onchange = "Changed(this)" })
        </td>
        <td>
            @Html.DropDownListFor(m => m.SubCategory[i].ID, Enumerable.Empty<SelectListItem>(), "Please select a Sub Category", new { @class = "class2" })
        </td>
    </tr>
}

在这个函数中,我正在对一个返回SelectList的控制器方法进行ajax调用:

    function TrackerChanged(val) {

        var id = val.value;

        $j.ajax({
            url: appRoot + 'Controller/Method',
            type: 'post',
            data: { 'id': id},
            success: function (results) {
                if (results) {
                        **** POPULATE SECOND DROPDOWN ABOVE ***
                    }
                else {
                    alert("Error updating comment");
                }
            },
            failure: function () {
                alert("Error updating comment");
            }
        });

    }

Controller方法返回一个SelectList:

    public SelectList Method(id categoryID)
    {
        IEnumerable<SelectListItem> select = null;

        // Populate the IEnumerable with SubCategory results to show in the second Drop Down

        return new SelectList(select, "Value", "Text");
    }

但是你可能会注意到我的ajax成功块中的注释 - 我不知道如何将我的新结果绑定回控制器。

请有人帮忙。我找了一些例子,似乎没有什么对我有用。

0 个答案:

没有答案