Автозаполнение jQuery в ESRI Javascript API: массив показывает повторяющиеся значения - PullRequest
0 голосов
/ 28 декабря 2018

У меня есть динамически построенная форма в API ESRI / Dojo javascript.Но это не должно иметь значения, потому что jQuery должен уметь делать эту работу.В моем коде ниже, когда автозаполнение работает, я вижу выборки, которые не только являются множественными (дубликаты), но также не находятся в строках, а дубликаты находятся в одной строке, например, в прикрепленном изображении.

My Output

Что-то не так в моем коде, очевидно.

Есть идеи, как это исправить?

Спасибо!

Вот мойкод:

   

 $(myInput).keyup(function (arg_Input) {
     //query to get values of the PROBLEM field
      var QueryTask = new queryTask(_workOrderFeatureLayer.url);
      var queryParams = new Query();
     queryParams.where = "PROBLEM LIKE '" + arg_Input.target.value+ "%'" ;
     queryParams.returnGeometry = false;
     queryParams.outFields = ["PROBLEM"];
     problem_values = [];//cleanup. **Update: Removes Duplicate Problem**
     QueryTask.execute(queryParams, function (results) {
     dojo.forEach(results.features, function (value, index) {                                                    
      problem_values.push(value.attributes.PROBLEM);                                               
      });
      },
      lang.hitch(myWidget, 'errorResults')
    );
    $(myInput).autocomplete({
    source: problem_values,
    minLength: 3
    });
 }
                                    );

1 Ответ

0 голосов
/ 28 декабря 2018

Неважно.По-видимому, это был некоторый конфликт с CSS.Я исправил это, установив фиксированную ширину для компонента пользовательского интерфейса:

.ui-autocomplete {
 width: 200px !important;
}

Не очень хорошее решение, потому что значения могут быть намного длиннее или короче.Если очень короткие значения, то будет включать два подряд.Если очень длинные значения, то они будут обернуты.Я думаю, придется поиграть со значениями ширины, если это необходимо.

HTH.

Спасибо.

...