2011-11-27 13 views
13

¿Por qué no se borrará #input-myBox cuando selecciono un elemento? Parece que la función autocompletar impide que funcione mi .val(''), así que ¿cómo puedo solucionar esto?Cómo cambiar el valor del cuadro de texto en seleccionar evento con autocompletar (jQuery UI)

$("#input-myBox").autocomplete({ 
    source: response, 
    minLength: 1, 
    select: function(event, ui) { 
       var selectedObj = ui.item; 
       $("#input-myBox").appendTo(".foo"); 
       $("#input-myBox").val(''); 
    } 
}); 
+1

'# entrada-mybox' debe ser' # entrada-myBox', para que coincida con su pregunta (posiblemente una respuesta) . –

Respuesta

37

event.preventDefault() deja de autocompletar para configurar el campo.

select: function (event, ui) { 
    event.preventDefault(); 
    var selectedObj = ui.item; 
    $("#input-myBox").appendTo(".foo"); 
    $("#input-myBox").val(''); 
} 
+0

¡Gracias, ayudó mucho! :) –

1

¿Es #input-mybox (b minúscula) o #input-myBox (b mayúscula)?

Esto podría ser su problema :)

Editar: Rob me adelantó

0

No es incompatible con el código:

$("#input-mybox").appendTo(".foo"); 
$("#input-myBox").val(''); 

"# entrada-myBox" || "# input-mybox" ???

7

Además, puede usar 'return false;' para detener la autocompleta configurando el campo.

select: function (event, ui) { 
    var selectedObj = ui.item;   
    $("#input-myBox").appendTo(".foo"); 
    $("#input-myBox").val(''); 
    return false; 
} 
1

Si lo que desea es sustituir el valor seleccionado para otra cosa:

select: function(event, ui) { 
    ui.item.value = substituteWord(ui.item.value); 
} 
Cuestiones relacionadas