Foros del Web » Programando para Internet » Jquery »

mostrar item seleccionado de un jquery combobox autocomplete [SOLUCIONADO]

Estas en el tema de mostrar item seleccionado de un jquery combobox autocomplete [SOLUCIONADO] en el foro de Jquery en Foros del Web. Buenas, estoy usando un combobox de jqueryUI con el autocomplete. Pero no me muestra el elemento que se encuentra seleccionado por defecto en el html. ...
  #1 (permalink)  
Antiguo 11/07/2010, 13:49
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 14 años, 5 meses
Puntos: 0
mostrar item seleccionado de un jquery combobox autocomplete [SOLUCIONADO]

Buenas,

estoy usando un combobox de jqueryUI con el autocomplete. Pero no me muestra el elemento que se encuentra seleccionado por defecto en el html. Sabes si es posible que se muestre cuando uso el autocomplete?

este es el código:

<script type="text/javascript">
$(function() {
$("#tabs").tabs();
$("#ctl00_ContentPlaceHolder1_ddl_Provincia").comb obox();
$("#ctl00_ContentPlaceHolder1_ddl_Localidad").comb obox();
$("#ctl00_ContentPlaceHolder1_ddl_Provincia option").eq(0).attr("selected", "selected");
$("#ctl00_ContentPlaceHolder1_ddl_Localidad option").eq(0).attr("selected", "selected");
});

(function($) {
$.widget("ui.combobox", {
_create: function() {
var self = this;
var select = this.element.hide();
var input = $("<input>")
.insertAfter(select)
.autocomplete({
source: function(request, response) {
var matcher = new RegExp(request.term, "i");
response(select.children("option").map(function() {
var text = $(this).text();
if (this.value && (!request.term || matcher.test(text)))
return {
id: this.value,
label: text.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + $.ui.autocomplete.escapeRegex(request.term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>"),
value: text
};
}));
},
delay: 0,
change: function(event, ui) {
if (!ui.item) {
// remove invalid value, as it didn't match anything
$(this).val("");
return false;
}
select.val(ui.item.id);
self._trigger("selected", event, {
item: select.find("[value='" + ui.item.id + "']")
});

},
select: function(event, ui) {
comboboxProvinciaChange(ui.item.id);
},
minLength: 0
})
.addClass("ui-widget ui-widget-content ui-corner-left");
$("<button>&nbsp;</button>")
.attr("tabIndex", -1)
.attr("title", "Muestra todos los elementos")
.insertAfter(input)
.button({
icons: {
primary: "ui-icon-triangle-1-s"
},
text: false
}).removeClass("ui-corner-all")
.addClass("ui-corner-right ui-button-icon")
.click(function() {
// close if already visible
if (input.autocomplete("widget").is(":visible")) {
input.autocomplete("close");
return;
}
// pass empty string as value to search for, displaying all results
input.autocomplete("search", "");
input.focus();
});
}
});

})(jQuery);
...

gracias,
saludos!

Última edición por subte815; 12/07/2010 a las 12:04 Razón: solucionado
  #2 (permalink)  
Antiguo 12/07/2010, 01:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Tema movido desde javascript
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 12/07/2010, 12:02
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: mostrar item seleccionado de un jquery combobox autocomplete

Con esto se resuelve:

function setAutoCompleteCombo(id, value, display) {
if ($(id + "[value=" + value + "]").text().localeCompare("") == 0) {
$("<option value='" + value + "'>" + display + "</option>").appendTo($(id));
}
$(id).val(value);
$(id).next().val($(id + " :selected").text());
}

Ej de uso:
setAutoCompleteCombo('#ddl_Localidad', Localidad.Id, Localidad.Nombre);

Saludos!

Etiquetas: combobox, autocompletado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:53.