Intereting Posts
Можно ли загружать изображение на сервер без отправки формы? MySQL: Запросы монитора Отправьте форму на один сервер, обработайте ее, а затем опубликуйте результаты в другом домене Как перебрать и получить доступ к различным элементам в массиве, который является многомерным и ассоциативным? PHP, либо JSON, либо XML Программирование многопользовательской игры с сервером PhP / MySQL и клиентами JavaScript / jQuery Метод тестирования phpunit, который вызывает другие методы класса, которые требуют макета Как легко загружать файлы без отправки формы (с помощью jQuery + AJAX) слияние нескольких файлов csv с использованием php Стратегии кэширования в MVC Framework? Как узнать, сколько байтов имеет символ? Когда следует использовать транзакции MySQL? MySQL Есть ли ограничение InnerJoin? Массовое присвоение Laravel с отношением morphMany Как получить конструктор класса PHP для вызова его родительского конструктора Что означает знак «&» в PHP?

JqGrid + автозаполнение

У меня возникли проблемы с выполнением автозаполнения в jqgrid. Я прошел исследование, псевдоним, пока я не задал этот вопрос на сайте, который в настоящее время не встречается. Проблема в том, что я должен использовать автозаполнение несколько раз в течение всего приложения, которое я разрабатываю. И теперь у меня есть эта функция:

Javascript:

function autocomplete_element(value, options) { var $ac = $('<input type="text"/>'); $ac.val(value); $ac.autocomplete({ source: function(request, response) { $.getJSON("autocomplete.php?id=estrategico", { q: request.term }, response); } }); return $ac; } 

Jqgrid:

 jQuery("#obj_oper_org").jqGrid({ (...) {name:'COD_OBJ_EST',index:'COD_OBJ_EST', hidden: true, editable:true, editrules:{required:true, edithidden:true}, edittype : 'custom', editoptions : {'custom_element' : autocomplete_element}}, 

То, что предназначалось для передачи параметра функции javascript больше, чтобы не повторять навсегда одну и ту же функцию для каждого поля, потому что мне нужно постоянно менять URL-адрес. Можно ли сделать что-то из жанра? Извините за вопрос, но у меня нет большого опыта работы с javascript, поэтому у меня есть некоторые трудности

Прежде всего вам не нужно использовать edittype : 'custom' чтобы иметь возможность использовать автозаполнение jQuery UI. Вместо этого вы можете использовать только dataInit .

Вы можете определить функцию myAutocomplete например

 function myAutocomplete(elem, url) { setTimeout(function () { $(elem).autocomplete({ source: url, minLength: 2, select: function (event, ui) { $(elem).val(ui.item.value); $(elem).trigger('change'); } }); }, 50); } 

а затем использовать

 { name:'COD_OBJ_EST', hidden: true, editable: true, editoptions: { dataInit: function (elem) { myAutocomplete(elem, "autocomplete.php?id=estrategico"); } }} 

Будьте осторожны, чтобы имя параметра, которое будет отправлено на сервер, является стандартным term имени вместо имени q которое вы используете в настоящее время. Я лично не вижу необходимости изменять имя параметра по умолчанию.