Archivo
Archivo
-
-
-
-
-
-
-
- Codeplex excelentes soluciones
- Evento onchange con jqtransform
- Consejos para diseñar tu blog
- ¿Por qué eliminamos un blog?
- Comparar con cero en php
- Convertir números romanos en PHP
- ¿Por qué utilizar PHP 5.3?
- PHP Non-Thread Safe vs Thread Safe
- Plugin jquery jqtransform, errores
- Plugin de jquery ui: autocomplete
- Claves externas en mysql, notas
- Errores con load data infile en mysql
-
-
-
-
-
Etiquetas
Etiquetas
Entradas populares de este blog
Hacer un select readonly con jQuery
Listado de palabras en castellano
Plugin jquery jqtransform, errores
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Embellecer formularios es una tarea bastante dura con HTML, actualmente hay innumerables plugins para hacer este tipo de tareas pero el que he encontrado más sencillo de implementar y utilizar es jqtransform para jquery, aunque no está exento de fallos o de deficiencias notables, por ejemplo:
- al cargarse los estilos de los formularios si un select es modificado por ajax los nuevos option no se muestran, hay que crear un código especial para agregar los nuevos option de manera que sean compatibles (yo no lo he hecho)
- el plugin autocomplete de jquery ui no muestra la imagen de carga al procesar los datos, esto supongo que sea porque sobre escribe los estilos y no muestra la imagen.
- el mismo plugin anterior no redimensiona correctamente el tamaño del input dejándolo más pequeño, a un tamaño de 16 px por lo que antes de escribir debemos utilizar el método width de jquery para cambiar el tamaño del input a uno más grande.
Para solucionar el punto 1 intenté primero modificar el plugin jqtransform para que no me modificara los select lo cual es bastante sencillo pero entonces se me descuadraba todo el formulario por lo que opté por crear una clase y los elementos que tengan esta clase no son transformados y así puedo ubicar estos en una parte distinta del código quedando visualmente bonitos, para ello debemos ubicar en el código javascript la línea:
if($select.hasClass('jqTransformHidden')) {return;}
Y agregar delante lo siguiente:
if($select.hasClass('jqTransformNoStyle')) {return;}
Donde jqTransformNoStyle es la clase de los elementos a los cuales no queremos aplicarle los estilos.
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Comentarios
El plugin separa sus eventos por funciones, nos hubicamos en el evento select
ubicar:
/***************************
Select
***************************/
asi es el comentario
dentro de el ubicar la siguiente linea
$ul.find('a').click(function(){
$('a.selected', $wrapper).removeClass('selected');
y justo despues de esta linea
$select[0].selectedIndex = $(this).attr('index');
adicionar
$select.trigger('change');
el $.trigger obliga al control a ejecutarse en el evento que le indiquemos de esta forma fuera de nuestro plugin podemos hacer los que necesitamos
$('#tipo_llamada').change(function(){
if($('#tipo_llamada').val()==0) $('#fila01').fadeIn();
if($('#tipo_llamada').val()==1) $('#fila01').fadeOut();
if($('#tipo_llamada').val()==2) $('#fila01').fadeIn();
if($('#tipo_llamada').val()==3) $('#fila01').fadeOut();
});
justamente queria validar el tipo de dato que escogiamos y mostrar/ocultar un tr
antes de irme dejo el link de mi proyecto http://plantiweb.zobyhost.com/
un saludo espero haber ayudado