为什么我得到一个列表未定义的数据,没有我的下拉列表?

保罗·马金塔

我的selecthtml上有两个元素,第一个select应该填充来自数据库的数据,第二个应该填充数据,具体取决于第一个的选定项select但是,我设法在第一个上获得了价值,而第二个select遇到了问题,它返回的是undefined,具有准确的预期项目数,但未显示项目名称,仅显示undefined的列表。请帮助...这是代码:

1. HTML

<div class="row">
<div class="col-md-6">
    <div class="form-group">
        Category:
        <select asp-for="CategoryID" id="CategoryDD" class="form-control" asp-items="@(new SelectList(ViewBag.ListOfCategories,"CategoryID","CategoryName"))">
            <option value="">--Select Category--</option>
        </select>
    </div>

</div>
<div class="col-md-6">
    <div class="form-group">
        Item Name:
        <select asp-for="Id" id="ItemDD" class="form-control" asp-items="@(new SelectList("","Id","ItemName"))">
            <option value="">--Select Item--</option>
        </select>

    </div>
</div>

2. jQuery

$(document).ready(function () {
$("#CategoryDD").change(function () {
    console.log("Feching Items");
    $("#ItemDD").empty();
    $.ajax({
        type: "POST",
        url: "@Url.Action("GetItems")",
        dataType: "Json",               
        data: { id: $("#CategoryDD").val() },
        success: function (items) {
            console.log("Success!!!");
            $.each(items, function (i, item) {
                $("#ItemDD").append("<option value='"+item.Id+"'>"+ item.ItemName + "</option>");
            });
        },
        error: function (ex) {
            alert('Error Loading Items ' + ex);
        }
    });
    return false;
})

});

3. MVC控制器

    public JsonResult GetItems(int id)
    {
       var objSelectListItem = (from obj in _context.OrderItem.Where(cat => cat.CategoryID == id)

                             select new SelectListItem()
                             {
                                 Text = obj.ItemName,
                                 Value = obj.Id.ToString(),                                 
                             }).ToList();

        return Json(objSelectListItem);
    }    
保罗·马金塔

代码现在可以按预期工作了,我不敢相信这简单的代码行使我工作了24小时。这是我的解决方案代码:

我更改了这一行:

$("#ItemDD").append("<option value='"+item.Id+"'>"+ item.ItemName + "</option>");

对此:

 $.each(result, function (i, item) {
 $("#ItemDD").append($("<option></option>").val(item.value).html(item.text));

});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我得到一个未定义的?

为什么我得到一个未定义的变量:laravel 中的请求

为什么我有一个错误“无法读取未定义的属性”地图”?

为什么我得到“未定义不是一个对象(评估“inputRef.current.incFont”?

为什么我在一个简单的js脚本上得到“未定义不是函数”的信息?

使用 tabula-py 为什么我得到一个列表而不是一个数据框?

为什么我的<script>即使被调用也给我一个未定义的错误?

为什么我得到“列表”对象没有属性“项目”?

为什么我的数组列表没有保留最后一个答案?

我似乎无法弄清楚为什么我在 async/await 函数之后 console.log 一个值后得到“未定义”

为什么我没有“未定义的引用”?

Typescript(类型'undefined'不能分配给类型)为什么我的数组有一个|号?未定义?

为什么我的数组未定义但它实际上应该有一个对象?

为什么我使用solve命令得到一个空列表作为输出?

当N = 1时,为什么我得到一个空列表而不是[0]

为什么我会得到一个 IndexOutOfBoundsException 迭代列表?

为什么当我给它一个参数时函数返回未定义

Vue/Vuetify:为什么我会收到一个 ReferenceError:变量未定义?

为什么我的方法不调用另一个(未定义的变量)

为什么我的函数返回一个未定义的数组作为项目?

我得到一个未定义的操作错误,当我使用||

当我从 php 的下拉列表中选择时,我得到了空值。有时,它会显示“未定义索引”之类的错误

为什么我得到的道具是未定义的?

为什么我得到未定义的变量?

为什么我得到NULL是未定义错误?

为什么我得到self.description(...)是未定义的?

为什么我得到未定义的方法“每个”?

为什么我从Promise中得到未定义?- 更新

为什么我得到对Class :: Class()的未定义引用?