Я пытаюсь реализовать автозаполнение в своих формах для моего приложения grails. В настоящее время с кодом ниже, когда вы вводите любые символы/слова в поле parameterName, он возвращает значение EVERY внутри столбца parameter_name.Autocomplete Grails с использованием JQuery
Как вы можете себе представить, я просто хочу, чтобы он предлагал значения, основанные на том, что я уже ввел. Поэтому, если я набираю «карточку», он должен предлагать значения, начинающиеся со словарной карты. Какие изменения я должен внести в код ниже, чтобы достичь этого?
Функция у меня в form.gsp:
<script>
$(function() {
$("#parameterName").autocomplete({
source: '${g.createLink(controller: 'templateInput', action: 'suggestedParameterNames')}'
});
});
</script>
Функция у меня в контроллере для templateInput:
def suggestedParameterNames() {
def suggestions = templatingService.getSuggestedParamNameValues()
render suggestions as JSON
}
Функция у меня есть в моей службы:
def getSuggestedParamNameValues(){
def sql = new Sql(dataSource)
def row = sql.rows("select distinct parameter_name from template_input")
return row
}
Любая помощь была бы принята с благодарностью
Но вы не передаете введенный текст вызову AJAX, контроллеру или запросу, так как он может его использовать? –
Я новичок в JQuery/Ajax, и это мой первый опыт. Что вы предлагаете мне делать? – Jamie
Я предлагаю вам следовать советам ниже –