Автозаполнение jquery теперь работает правильно - PullRequest
0 голосов
/ 28 апреля 2019

Я работаю на jquery autocomplete на mvc платформе.Теперь мой вопрос заключается в том, что в некоторых текстовых полях автозаполнение данных работает правильно , а в некоторых текстовых полях автозаполнение данных не работает должным образом .

Для большей ясности давайте посмотримизображение задачи автозаполнения

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 голосов
/ 29 апреля 2019

Как вы получаете

Uncaught TypeError: Невозможно прочитать свойство 'substr' из неопределенного

Для этой ошибки вы должны убедиться, что data не равно нулю.

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