У меня есть массив с некоторыми объектами, которые имеют такое же свойство «ID», как это:JQuery автозаполнения: элементы скрыть, основанные на ID
var regions = [
{'id': 1, 'value': 'Ankara'},
{'id': 2, 'value': 'İstanbul'},
{'id': 2, 'value': 'Istanbul'}
]
я стараюсь, чтобы отобразить только первый объект определенного ID, если (в данном случае я хочу отобразить «Стамбул», но не «Стамбул»). Я пытался использовать функцию внутри свойства источника, но мне не удалось, и я не уверен, чтобы понять, где я должен это сделать ... Вот отрывок:
var regions = [
\t {'id': 1, 'value': 'Ankara'},
\t {'id': 2, 'value': 'İstanbul'},
\t {'id': 2, 'value': 'Istanbul'}
]
$('#myInput').autocomplete({
\t source: regions
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
<input type="text" placeholder="type here ..." id="myInput">
Любой помощь будет оценена. Спасибо.
Вы должны де-надуть массив объектов, прежде чем предоставить его в качестве 'source' параметра. См. Этот вопрос для деталей: http://stackoverflow.com/questions/2218999/remove-duplicates-from-an-array-of-objects-in-javascript –
Не можете ли вы просто фильтровать «регионы», чтобы исключить дубликаты элементов ? – raina77ow
Мне нужно сохранить все элементы в массиве из-за специальных символов. Если я удаляю «istanbul» из массива и пользовательский тип ist, «İstanbul» не отображается. Из-за этого бэкэнд-разработчик отправил мне «сырую» версию каждого региона. –