jQuery自动完成现在可以正常工作

时间:2019-04-28 11:01:36

标签: ajax asp.net-mvc jquery-ui-autocomplete

我正在 mvc 平台上使用 jquery自动完成。现在,我的问题是,在某些文本框中,数据自动完成工作正常,而在某些文本框中,数据自动完成工作正常

为更清晰,让我们看一下自动完成任务的图像

enter image description here

现在按照图像,当我写 R 字时,我得到了与相关的 R 字的建议列表。

enter image description here

现在,根据第二张图片,我已经写了整个单词,但仍然没有显示建议。

这是我的代码,

查看

<input type="text" id="CustomerName" name="CustomerName" required data-provide="typeahead" class="typeahead search-query form-control autocomplete" 

placeholder="Customer Name" />

<script>
    $(document).ready(function () {
        $.ajax({
            url: "/ServiceJob/CustomerSerchAutoComplete",
            method: "GET",
            dataType: "json",
            minLength: 2,
            multiple: true,
            success: function (data) {                    
                /*initiate the autocomplete function on the "myInput" element, and pass along the countries array as possible autocomplete values:*/
                    //autocomplete(document.getElementById("CustomerName"), data.data);
                $('#CustomerName').autocomplete({ source: data.data, minLength: 2, multiple: true }); 
            }
        });
    });
</script>

控制器

[HttpGet]
public IActionResult CustomerSerchAutoComplete()
{
    var customers = _Db.Ledger.Where(x => x.LedgerTypeId == (int)LedgerType.Customer).ToList();
    var result = (from n in customers
                  select new
                  {
                      kk = n.Name.ToUpper()
                  }).ToList();

    return Json(new { data = result });
}

1 个答案:

答案 0 :(得分:0)

随着您的获得

  

未捕获的TypeError:无法读取未定义的属性'substr'

对于此错误,您应检查data是否不为空。

 success: function (data) {                
                 if(data != null)
                   {
                    autocomplete(document.getElementById("CustomerName"), data.data);
                   }
                }