всем доброго дня!
я потратил много времени, прочитал все сообщения в stackoverflow … и я не могу сделать автозаполнение работой с полями ввода multilpe. Я попытался присвоить класс «autoc» каждому входу, я использую другой идентификатор для каждого поля (фактически это inedx полей генерации петля php). Я не прошу кого-то сделать эту работу для меня … просто рабочий пример.
Заранее спасибо.
PS: Я прошу прощения за мой бедный английский …
теперь следует кусок html:
<input id="search_ctO" class="autoc" type="text" name="search_ct[]"> <input id="search_ct1" class="autoc" type="text" name="search_ct[]"> <input id="search_ct2" class="autoc" type="text" name="search_ct[]"> .... <input id="search_ctn" class="autoc" type="text" name="search_ct[]">
и jquery:
$('.autoc').on("focus", function() $(this).autocomplete({ minLength: 2, source: 'liste_contact.php', select: function( event, ui ) { $('.autoc #search_ct').val( ui.item.label ); //id="search_ct'.$i.' $(".autoc #contact_id").val( ui.item.value ); // $("autoc #contact_description").val( ui.item.desc ); return false; }, change: function(){ var servi = $("#service_id").val(); var hop = $('#hop').val(); var contact = $("#contact_id" ).val(); $.ajax({ url: 'ajout_contact.php', data: "serv="+ servi+"&hopit=" + hop+"&contact="+ contact+"",// on envoie la requete d'ajout de contact success: function() { $("#search_ct").val(''); // location.reload(true); }
Не зная, какой именно HTML-массив и массив объектов переданы autocomplete
, сложно точно составить код.
Однако вы спросили о работе autocomplete
для нескольких полей, так что вот лишь простой пример:
HTML
<input id="search_ctO" class="autoc" type="text" name="search_ct[]"/> <input id="search_ct1" class="autoc" type="text" name="search_ct[]"/> <input id="search_ct2" class="autoc" type="text" name="search_ct[]"/> <input id="search_ctn" class="autoc" type="text" name="search_ct[]"/>
JS
var tags = ["abc","def","xyz"]; $('.autoc').on("focus", function(){ $(this).autocomplete({ minLength: 2, source: tags }); });
JSFIDDLE DEMO
Если есть какая-то другая вещь, которую вы хотите включить в ответ, не стесняйтесь комментировать.
РЕДАКТИРОВАТЬ
Ваш код,
$('.autoc').on("focus", function() { $(this).autocomplete({ minLength: 2, source: 'liste_contact.php', select: function( event, ui ) { $('.autoc #search_ct').val( ui.item.label ); $(".autoc #contact_id").val( ui.item.value ); $("autoc #contact_description").val( ui.item.desc ); return false; }, change: function() { var servi = $("#service_id").val(); var hop = $('#hop').val(); var contact = $("#contact_id" ).val(); $.ajax({ url: 'ajout_contact.php', data: "serv="+servi+"&hopit="+hop+"&contact="+contact+"", success: function() { $("#search_ct").val(''); } }); } }); });