Bonjour
je sais faire fonctionner un autocomplète jQuery avec une source en mysql
mais je cherche à faire la même chose sur plusieurs champs. La difficulté est que ces champs possèdent le même id. Pourquoi ? car ils sont générés par une boucle while. Je peux donc avoir deux champs du même id comme je peux en avoir 3 ou 6.
Il s'agit donc de faire un autocomplète sur l premier comme sur tous les autres.
voici mon champ à autocompleter
le code qui marche sur un seul champ
le code sur plusieurs champs que j'ai tenté d'écrire ( pardon si il vous semble absolument horrible et vous donne des boutons, je n'y connais rien et c'est bien pour ça que je suis ici).
Bref si une âme charitable pouvait m'aider, me donner le bon code et surtout m'expliquer la ligne de code qui me permet de faire cela , je serais ravie
merci à vous
Modifié par tsiganedelespace (20 Nov 2017 - 20:29)
je sais faire fonctionner un autocomplète jQuery avec une source en mysql
mais je cherche à faire la même chose sur plusieurs champs. La difficulté est que ces champs possèdent le même id. Pourquoi ? car ils sont générés par une boucle while. Je peux donc avoir deux champs du même id comme je peux en avoir 3 ou 6.
Il s'agit donc de faire un autocomplète sur l premier comme sur tous les autres.
voici mon champ à autocompleter
<li class="input_container"> <input type="text" id="country_id" onkeyup="autocomplet()" class="inline" placeholder="autre catégorie">
<ul id="country_list_id"></ul> </li>
le code qui marche sur un seul champ
function autocomplet() {
var min_length = 1;
var keyword = $('#country_id').val();
if (keyword.length >= min_length) {
$.ajax({
url: 'ajax_refresh.php',
type: 'POST',
data: {keyword:keyword},
success:function(data){
$('#country_list_id').show();
$('#country_list_id').html(data);
}
});
} else {
$('#country_list_id').hide();
}
}
// set_item : this function will be executed when we select an item
function set_item(item) {
// change input value
$('#country_id').val(item);
// hide proposition list
$('#country_list_id').hide();
}
le code sur plusieurs champs que j'ai tenté d'écrire ( pardon si il vous semble absolument horrible et vous donne des boutons, je n'y connais rien et c'est bien pour ça que je suis ici).
function autocomplet() {
var min_length = 1;
var keyword = $('#country_id').$(this).siblings("#country_id").$(this);
if (keyword.length >= min_length) {
$.ajax({
url: 'ajax_refresh.php',
type: 'POST',
data: {keyword:keyword},
success:function(data){
$('#country_list_id').show();
$('#country_list_id').html(data);
}
});
} else {
$('#country_list_id').hide();
}
}
// set_item : this function will be executed when we select an item
function set_item(item) {
// change input value
$('#country_id').val(item);
// hide proposition list
$('#country_list_id').hide();
}
Bref si une âme charitable pouvait m'aider, me donner le bon code et surtout m'expliquer la ligne de code qui me permet de faire cela , je serais ravie
merci à vous
Modifié par tsiganedelespace (20 Nov 2017 - 20:29)