Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Asp mvc中的自动完成&;AJAX_Javascript_Jquery_Json_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript Asp mvc中的自动完成&;AJAX

Javascript Asp mvc中的自动完成&;AJAX,javascript,jquery,json,ajax,asp.net-mvc,Javascript,Jquery,Json,Ajax,Asp.net Mvc,我有一个文本框,我想做一个自动完成功能 我有这个看法 我添加了库,但它根本没有响应 <link href="~/Content/themes/base/autocomplete.css" rel="stylesheet" /> <link href="~/Content/themes/base/jquery-ui.min.css" rel="stylesheet" /> <script src="~/Scripts/jquery-3.1.1.js"><

我有一个文本框,我想做一个自动完成功能

我有这个看法 我添加了库,但它根本没有响应

<link href="~/Content/themes/base/autocomplete.css" rel="stylesheet" />
<link href="~/Content/themes/base/jquery-ui.min.css" rel="stylesheet" />

<script src="~/Scripts/jquery-3.1.1.js"></script>
<input type="text" id="q" name="q" placeholder="Enter the text please" />
这是控制器

public JsonResult AutoComplete(string prefix)
{
    var book = db.Book.Where(x => x.Name.Contains(prefix)).Select(x =>x.Name).ToList();
    return Json(book, JsonRequestBehavior.AllowGet);
}

您必须对代码进行一些更改

1)通过将jquery ui库添加到标题中来添加它

<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

您必须对代码进行一些更改

1)通过将jquery ui库添加到标题中来添加它

<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>


你有什么错误吗?你的自动完成库在哪里?@Azim你是说有一个特殊的库吗?我使用jquery-3.1.1,它提供了这个特性guess@Usman不,没有任何错误。你可以放置断点来检查它是否到达动作。你有任何错误吗?你的自动完成库在哪里?@Azim你的意思是有一个特殊的库吗?我使用jquery-3.1.1,它提供了这个特性guess@Usman不,没有任何错误,你能不能放一个断点来检查它是否进入行动,先生,ajax调用没有发生,我按你说的做,但直到现在都没有返回data@AhmadTarabeshi检查jquery库是否正确加载,并将警报放在
源代码之后:函数(请求、响应){alert()实际上没有任何警报box@AhmadTarabeshi很好,我已经更新了我的答案,并尝试放置一个断点,并在textboxSir中写入一些内容ajax调用没有发生,我像你所说的那样进行调用,但到目前为止没有返回data@AhmadTarabeshi检查jquery库是否正确加载,并在
so之后放置警报urce:函数(请求、响应){alert();
实际上没有任何警报box@AhmadTarabeshi我已经更新了我的答案,试着在文本框中放置一个断点并写下一些东西
 <script type="text/javascript">

    $(document).ready(function () {
        $("#q").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: "/Book/AutoComplete/",
                    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>