Javascript Mvc5 Select2基于searchTerm通过ajax加载结果
我正在尝试使用Select2并基于搜索词使用ajax加载数据。我看了这么多的例子,但我就是想不出我遗漏了什么 我添加了select2.css和select.js,并将它们包含在布局视图中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/
@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);
}