Tengo un formulario HTML grande que contiene muchos campos que necesitan un autocompletar para las cuentas. Etiquetan estos campos con la clase AccountLookup y jQuery hace el trabajo sucio para el autocompletado:Obligar a un usuario a seleccionar JQuery UI Autocompletar y rellenar un campo oculto después de seleccionar
$(".AccountLookup").autocomplete({
source: function (request, response) {
$.ajax({
url: "Lookup.asmx/GetAccounts",
data: "{ 'Search': '" + request.term + "' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
response($.map(data.d, function (item) {
return {
value: item.Value
}
}))
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
},
minLength: 3
});
Ahora, cuando un usuario selecciona algo de la autocompletar lo necesito para llenar un campo oculto justo antes del campo de entrada etiquetados; probablemente usando algo como:
$(this).prev().val(item.Key);
¿Cómo incorporo esta funcionalidad? Además, ¿cómo obligo a un usuario a seleccionar desde el autocompletar? (Todos los valores están predefinidos, el usuario no puede agregar nuevos.)
EDIT: Por lo que yo entiendo de inspeccionar el DOM, seleccione la opción está llenando en el campo de formulario oculto.
select: function (event, ui) {
$(this).prev().val(ui.item.key);
}
No lo veo funcionar ... – think123