Estaba usando el
plugin Chosen para elementos de mi formulario, y además tenía un botón para agregar nuevos elementos. Colocaré algo de código extra para quienes hayan tenido este mismo problema:
Código Javascript
:
Ver original$(".datos").chosen(); // Clase de cada input que quiero afectar con Chosen
var contenedor = $("#contenedor");
var i = $(".capa").size() + 1;
$("#agregar").live("click", function() { // Enlace que sirve de botón para agregar un nuevo bloque de inputs
$('Mi HTML...').appendTo(contenedor);
i++;
return false;
});
El problema: al presionar el botón #agregar, ciertamente
se creaba el nuevo HTML, pero sin las funciones del plugin Chosen. Intenté aplicando .live() en las maneras recomendadas para este caso,
al igual que otras funciones, todo sin resultado.
La solución:
Descargué el
plugin Livequery y lo instalé de primero, justo después de jquery.js. Cambié la función -justo como la ven abajo- y refresqué la página pensando que no iba a resultar a la primera (porque con jQuery nada me resulta a la primera) y paf! el cambio se dio.
Antes:
Después:
Código Javascript
:
Ver original$(".datos").livequery(function() { $(this).chosen(); });
A partir de entonces, he usado dicho plugin de forma exitosa para este tipo de situaciones, cuando quiero que los elementos creados de forma dinámica sean arropados por X función. Lo recomiendo.