使用 typeahead 在 C# 中自动完成不起作用
Autocomplete in C# using typeahead not working
我的 JS 函数
<script type="text/javascript">
$(function () {
$("#pName").autocomplete({
source: '@Url.Action("GetExistingProducts")'
});
});
</script>
ID #pName
是 Modal.
中文本框的 ID
控制器中我的GetExistingProducts
函数
public IEnumerable<string> GetExistingProducts()
{
return _traceProjectService.GetAllProducts();
}
这会在我的服务中调用 GetAllProducts()
public IEnumerable<string> GetAllProducts()
{
var productList = myContext.Projects.Select(x =>x.ProductName).ToList();
return productList;
}
问题:
当我开始在文本框中输入内容时,我的 JS 函数没有显示现有产品。
参考文献:
如果有人能告诉我我做错了什么,我将不胜感激。谢谢。
试试这个:
<script src="~/Scripts/bootstrap3-typeahead.js"></script>
<script>
$.ajax({
url: '@Url.Action("GetExistingProducts", "Admin")',
type: "GET"
}).done(function(dt) {
var res = dt.split(",");
$(".pText").typeahead({
source: res,
showHintOnFocus: "all",
fitToElement: true
});
});
$.ajax({
url: '@Url.Action("GetExistingVersions", "Admin")',
type: "GET"
}).done(function(dt) {
var res = dt.split(",");
$(".vText").typeahead({
source: res,
showHintOnFocus: "all",
fitToElement: true
});
});
</script>
在控制器端
public string GetExistingProducts()
{
var x = yourservice.function().toList();
string a = string.Empty;
foreach (var item in x)
{
a += item + ",";
}
return a;
}
我的 JS 函数
<script type="text/javascript">
$(function () {
$("#pName").autocomplete({
source: '@Url.Action("GetExistingProducts")'
});
});
</script>
ID #pName
是 Modal.
控制器中我的GetExistingProducts
函数
public IEnumerable<string> GetExistingProducts()
{
return _traceProjectService.GetAllProducts();
}
这会在我的服务中调用 GetAllProducts()
public IEnumerable<string> GetAllProducts()
{
var productList = myContext.Projects.Select(x =>x.ProductName).ToList();
return productList;
}
问题:
当我开始在文本框中输入内容时,我的 JS 函数没有显示现有产品。
参考文献:
如果有人能告诉我我做错了什么,我将不胜感激。谢谢。
试试这个:
<script src="~/Scripts/bootstrap3-typeahead.js"></script>
<script>
$.ajax({
url: '@Url.Action("GetExistingProducts", "Admin")',
type: "GET"
}).done(function(dt) {
var res = dt.split(",");
$(".pText").typeahead({
source: res,
showHintOnFocus: "all",
fitToElement: true
});
});
$.ajax({
url: '@Url.Action("GetExistingVersions", "Admin")',
type: "GET"
}).done(function(dt) {
var res = dt.split(",");
$(".vText").typeahead({
source: res,
showHintOnFocus: "all",
fitToElement: true
});
});
</script>
在控制器端
public string GetExistingProducts()
{
var x = yourservice.function().toList();
string a = string.Empty;
foreach (var item in x)
{
a += item + ",";
}
return a;
}