Me gustaría obtener el mismo efecto que, jQuery.serialize()
pero me gustaría devolver solo los elementos secundarios de un determinado div
.
Resultado de la muestra:
single=Single2&multiple=Multiple&radio=radio1
jquery
serialization
BrokeMyLegBici
fuente
fuente
$("#divId").find("select, textarea, input").serialize();
obtendría un mejor rendimiento? Me imagino que lo anterior podría volverse lento si el div tuviera muchos elementos, como una tabla con varias filas / columnas.Puede mejorar la velocidad de su código si restringe los elementos que jQuery verá.
Utilice el selector : entrada en lugar de * para lograrlo.
Esto hará que su código sea más rápido porque la lista de elementos es más corta.
fuente
serialize
todos los elementos de formulario dentro de adiv
.Podrías hacerlo apuntando al div
#target-div-id
dentro de tuform
usando:fuente
La función que uso actualmente:
fuente
Prueba también esto:
fuente
¿Qué pasa con mi solución?
Mostrar fragmento de código
fuente
Si esos elementos tienen un nombre de clase común, también se puede usar esto:
De esta manera, puede evitar la selección de botones, que se seleccionarán con el selector de jQuery
:input
. Aunque esto también se puede evitar usando$('#your_div :input:not(:button)').serialize();
fuente
fuente
ID
en cada selector, como$('#divId > input, #divId > select, #divId > textarea')
:; Además, el>
símbolo hace referencia a elementos hijos directos ... Muy inusual en este escenario o al menos, muy restrictivo.