2012-08-31 6 views
5

Estoy tratando de aplicar el Chosen jQuery plugin a un cuadro de selección después de haberlo cargado a través del XAJAX. Aquí está el código:jQuery "Elegido" para cuadros seleccionados: cómo aplicar el estilo después de que AJAX cargue el elemento seleccionado

Normalmente, comienzo al cargar la página, y todas las cajas de selección con la clase se labró correctamente apropiada:

$(document).ready(function() {   
    $(".chzn-select").chosen(); 
}); 

A continuación, tengo una función que utiliza XAJAX para mostrar el nuevo cuadro de selección en el DIV especificado en la página. Esto funciona bien SIN EMBARGO, no es elegido por Elegido como debería ser.

He intentado agregar un retraso también allí, porque leí en algunos foros que eso funcionó para algunas personas. No funciona ....

function getNewSelect(property_id){ 
    xajax_getNewSelect(); 
    $(".chzn-select-ajax").delay(5).chosen(); 
} 

¿Alguien tiene alguna idea?

+0

hice $ (" contenedor elegido ") .width ('100%') después de la configuración elegida() –

Respuesta

4

¿Qué hace xajax?

delay solo retrasa las animaciones, no tiene efecto sobre ninguna otra función.

Si desea retrasar el uso de la función:.

setTimeout(function() { $(".chzn-select-ajax").chosen(); }, 500); 
+0

Agregué un enlace para xajax, déjame probarlo. – Shackrock

+0

Si configuro el retraso lo suficiente, funciona, pero parece ridículo ... si el retraso es demasiado corto, no funciona. ¿Alguna otra idea? – Shackrock

+1

Luego necesita agregar una devolución de llamada en la llamada xajax que activa esto cuando finaliza. No me di cuenta de que xajax es asincrónico. – Ariel

1
<script language="javascript" type="text/javascript"> 
    $(function() { 
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(loadControlDuringAjax); 
     loadControlDuringAjax(); 
    }); 
    function loadControlDuringAjax() { 
     $(".chzn-select").chosen(); $(".chzn-select-deselect").chosen({ allow_single_deselect: true }); 
    } 
</script> 

Esto funciona muy bien para mí

Hope esto va a resolver su problema

Cuestiones relacionadas