En utilisant le plugin easyAutocomplete, j'auto complète un champ de saisie et prends la valeur sélectionnée et l'affiche dans une liste déroulante. Ce que je veux faire, c'est avoir un champ caché qui aurait l'ID de la valeur.Get id et une valeur de champ dans le plugin EasyAutocomplete
Mon JSON retourne fichier quelque chose comme ceci:
{ "name": "Emily"
"id" : 1
"jobData": [
{
"id":1
"loc":"AL"
},
{
"id":2
"loc":"BG"
}
]
Une fois que je sélectionne Emily de mes utilisateurs, mon menu déroulant se remplit de lieux de son travail. Comment puis-je également enregistrer l'ID de l'emplacement dans un champ masqué afin de pouvoir l'envoyer à mon contrôleur?
Ceci est ma fonction JS:
function AutoCompleteS() {
$("#basics").keyup(function(e) {
this.query = e.target.value;
var options = {
url: function(query) {
return "/getUser/"+ query
},
getValue:"name"
list: {
onClickEvent: function() {
var value = $("#basics").getSelectedItemData();
function toArray(value){
return value.loc;
}
var allLocations=value.jobData.map(toArray);
$.each(allLocations,function(i,p){
$('#select').append($('<option></option>').val(p).html(p));
})
}
}
};
$('#basics').easyAutocomplete(options);
});
}
Comment puis-je obtenir et passer l'id?
EDIT: code html:
<label for="client1" class=" control-label">First Client</label> <input type="text" name="client" value="" class="form-control input-lg " id="basics"/>
<label for="sel1">Select location:</label>
<select class="form-control input-lg" id="select" >
<option></option>
<input type="text" class="hidden" />
</select>
Ce que je voulu est d'afficher les emplacements dans la liste déroulante, comme je le fais déjà. Mais aussi enregistrer l'identifiant de chaque emplacement quelque part dans un champ caché afin que je puisse le passer à mon contrôleur. J'ai édité et ajouté le code HTML! –