Bonsoir,
J'ai un widget autocomplete jquery ui qui fonctionne correctement, c'est à dire qu'il récupère bien une ou plusieurs values des suggestions dans le dit input autocomplete (séparée par une virgule) et push le label, ici l'ID correspondant, dans un input hidden (id également separée par des virgules.
Ci-dessous le code correspondant.
Code PHP :
Ce qui donne ca pour mieux saisir :
Je n'ai pas mis le traitement Json, je ne crois pas que cela soit utile.
J'en viens à la difficulté que je rencontre.
Si l'utilisateur supprime un des noms pour finalement ne pas envoyer de message à cette personne, dans le hidden, l'ID reste en place et donc c'est le bazar pour une insertion en BDD....
Je ne sais pas vers où partir.
Faut il envisager une fonction qui nettoie tout si les keys de suppression sont utilisées ? (ca me semble violent... )
Comment dans ce cas cibler les éléments situés entre les bonnes séparations de virgule?
Quelqu'un a t il déjà rencontré ce besoin ?
Merci et bonne soirée,
J'ai un widget autocomplete jquery ui qui fonctionne correctement, c'est à dire qu'il récupère bien une ou plusieurs values des suggestions dans le dit input autocomplete (séparée par une virgule) et push le label, ici l'ID correspondant, dans un input hidden (id également separée par des virgules.
Ci-dessous le code correspondant.
Code PHP :
echo "<form action=\"ecrire-message.php\" method=\"post\">";
echo "<label for=\"multi_autocomplete\"> Ajouter des destinataires:</label>";
echo "<input type='text' id='multi_autocomplete'>";
echo "<input type='text' id='selectuser_ids'>";
echo "</form>";
<script>
$( function() {
// initialisation
$( "#multi_autocomplete" ).autocomplete({
source: function( request, response ) {
var searchText = extractLast(request.term);
$.ajax({
url: "traitement-destinataire-ui-autocomplete.php",
type: 'post',
dataType: "json",
data: {
search: searchText
},
success: function( data ) {
response( data );
}
});
},
select: function( event, ui ) {
var terms = split( $('#multi_autocomplete').val() );
terms.pop();
terms.push( ui.item.label );
terms.push( "" );
$('#multi_autocomplete').val(terms.join( ", " ));
terms = split( $('#selectuser_ids').val() );
terms.pop();
terms.push( ui.item.value );
terms.push( "" );
$('#selectuser_ids').val(terms.join( ", " ));
return false;
}
});
});
function split( val ) {
return val.split( /,\s*/ );
}
function extractLast( term ) {
return split( term ).pop();
}
</script>
Ce qui donne ca pour mieux saisir :
Je n'ai pas mis le traitement Json, je ne crois pas que cela soit utile.
J'en viens à la difficulté que je rencontre.
Si l'utilisateur supprime un des noms pour finalement ne pas envoyer de message à cette personne, dans le hidden, l'ID reste en place et donc c'est le bazar pour une insertion en BDD....
Je ne sais pas vers où partir.
Faut il envisager une fonction qui nettoie tout si les keys de suppression sont utilisées ? (ca me semble violent... )
Comment dans ce cas cibler les éléments situés entre les bonnes séparations de virgule?
Quelqu'un a t il déjà rencontré ce besoin ?
Merci et bonne soirée,