【问题标题】:Error Suggestion autocomplete Textbox MVC and Javascript错误建议自动完成文本框 MVC 和 Javascript
【发布时间】:2016-04-27 13:44:15
【问题描述】:

大家好,感谢您的帮助,

我在 MVC 中有一条带有自动完成建议的文本。

视图中的文本框是:

   <form action="Locator">
      <div class="col-lg-3 col-md-3 hidden-sm hidden-xs" style="margin-top:2%;">
         <input type="text" class="formLocator" value="Milano" data-date-end-date="0d" id="textLocator" name="searchstring">
         <h4 class="FormTextLocator">dove</h4>
      </div>
   </form>

我为此文本框创建了一个 javascript 代码:

$(document).ready(function () {
    $('[data-toggle="tooltip"]').tooltip();
    // Locator
    $("#textLocator").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "/Home/AutocompleteSuggestions",
                type: "POST",
                dataType: "json",
                data: { term: request.term },
                success: function (data) {
                    response($.map(data, function (item) {
                        return { value: item.name };
                    }))
                }
            })
        },
        messages: {
            noResults: "", results: ""
        }
    });
});

而关联的控制器是:

[HttpPost]
public JsonResult AutocompleteSuggestions(string term)
{
   var db = new TocFruit();
   var suggestions = from s in db.city select s.name;
   var namelist = suggestions.Where(n => n.ToString().ToLower().StartsWith(term.ToLower()));
   return Json(namelist, JsonRequestBehavior.AllowGet);
}

自动完成值被传递给视图,但这是结果视图:

请帮帮我,我真的不知道该怎么办。

谢谢大家,

罗伯托

【问题讨论】:

  • 试试return { value: item };
  • 我认为您在填充自动完成时忘记提及标签。标签:item.Description
  • 我必须写的地方 return { value: item }; ?
  • @user5297740。而不是return { value: item.name }; - 您将返回string 的集合(不包含名为name 的属性),而不是复杂对象的集合`

标签: javascript c# asp.net-mvc autocomplete


【解决方案1】:

我想你忘了在自动完成中提到标签

$(document).ready(function () {
$('[data-toggle="tooltip"]').tooltip();
// Locator
$("#textLocator").autocomplete({
    source: function (request, response) {
        $.ajax({
            url: "/Home/AutocompleteSuggestions",
            type: "POST",
            dataType: "json",
            data: { term: request.term },
            success: function (data) {
                response($.map(data, function (item) {
                    return { 
                             value: item.name,
                             label : item.name
                           };
                }))
            }
        })
    },
    messages: {
        noResults: "", results: ""
    }
});

});

【讨论】:

  • 它不起作用。如果我设置标签不要改变任何东西
猜你喜欢
  • 1970-01-01
  • 2020-05-17
  • 2017-10-22
  • 1970-01-01
  • 2012-05-21
  • 1970-01-01
  • 1970-01-01
  • 2012-07-31
  • 2016-04-26
相关资源
最近更新 更多