首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery自动完成空白字段

问Jquery自动完成空白字段
EN

Stack Overflow用户
提问于 2020-04-26 17:38:46
回答 1查看 41关注 0票数 0

我有这个问题与自动完成,它返回的东西像这样:This,但当你检查什么返回post方法,一切都是它应该是,但在视图中,我们得到返回只有空白字段,而不是单词“硬件”。

我的代码:构造器方法:

代码语言:javascript
复制
[HttpPost]
        public JsonResult CreateJS(string prefix)
        {
            List<CategoryModel> list = new List<CategoryModel>();
            list = _context.Categories.ToList();
            var CatList = (from N in list
                            where N.Name.StartsWith(prefix)
                            select new { value = N.Name,label = N.Name });
            return Json(CatList);

查看:

代码语言:javascript
复制
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
    $(document).ready(function () {
        $("#Category").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: "/Incident/CreateJS",
                    type: "POST",
                    dataType: "json",
                    data: { Prefix: request.term },
                    success: function (data) {
                        response($.map(data, function (item) {
                            return { label: item.Name, value: item.Name };
                        }))

                    }
                })
            },
            messages: {
                noResults: "", results: ""
            }
        });
    })
</script>
<hr />
<div class="row">
    <div class="col-md-4">
        <form asp-action="Create">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
                <label asp-for="IncidentDescription" class="control-label"></label>
                <input asp-for="IncidentDescription" class="form-control" />
                <span asp-validation-for="IncidentDescription" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="Title" class="control-label"></label>
                <input asp-for="Title" class="form-control" />
                <span asp-validation-for="Title" class="text-danger"></span>
            </div>

        <div class="form-group">
            <label for="Category">Cat:</label>
            <input type"text" name="Category" id="Category"/>
        </div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-27 14:06:07

在ajax回调函数中不需要使用$.map。将数据直接应用于响应。

代码语言:javascript
复制
<script>
    $(document).ready(function () {
        $("#Category").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: "/Incident/CreateJS",
                    type: "POST",
                    dataType: "json",
                    data: { Prefix: request.term },
                    success: function (data) {
                        response(data);
                    }
                })
            },

        });
    })
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61438619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档