Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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 Mvc5 Select2基于searchTerm通过ajax加载结果_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript Mvc5 Select2基于searchTerm通过ajax加载结果

Javascript Mvc5 Select2基于searchTerm通过ajax加载结果,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在尝试使用Select2并基于搜索词使用ajax加载数据。我看了这么多的例子,但我就是想不出我遗漏了什么 我添加了select2.css和select.js,并将它们包含在布局视图中 @Styles.Render("~/Content/css") <link type="text/css" rel="Stylesheet" href="@Url.Content("~/Content/select2.css")" /> @Scripts.Render("~/bundles/

我正在尝试使用Select2并基于搜索词使用ajax加载数据。我看了这么多的例子,但我就是想不出我遗漏了什么

我添加了select2.css和select.js,并将它们包含在布局视图中

@Styles.Render("~/Content/css")
    <link type="text/css" rel="Stylesheet" href="@Url.Content("~/Content/select2.css")" />
@Scripts.Render("~/bundles/jquery")
    <script type="text/javascript" src="../../Scripts/select2.min.js"></script>
文本框不显示数据或搜索任何内容。请有人解释一下应该如何正确地做?
谢谢。

选择2个下拉菜单也可以像搜索框一样工作。因此,通常不需要
作为输入。相反,请执行以下操作:

  • 创建
    标记
  • 
    搜索产品。。。
    
    // Not sure what here should be also.
    <input id="productSelect" style="width:200px" />
    
    
    @section Scripts {
        @Scripts.Render("~/bundles/jqueryval")
        <script type="text/javascript">
    $(function () {
            $('#productSelect).select2({
                placeholder: 'Select a product',
                minimumInputLength: 1,
                ajax: {
                    url: '@Url.Action("SearchProducts", "Product")',
                    dataType: 'json',
                    data: function (term, page) {
                        return {
                            searchTerm: term
                        };
                    },
                    results: function (data, page) {
                        return { results: data };
                    }
                }
            });
    
        });
    </script>
    }
    
    public JsonResult SearchProducts(string searchTerm)
            {
                var products = Db.Products.Where(p => p.Name.Contains(searchTerm));
                var result = products.Select(p => new { id = p.Id, text = p.Name });
                return Json(result, JsonRequestBehavior.AllowGet);
            }