He estado usando la función jquery serialize() para serializar los valores de un formulario y enviarlo a través de ajax
como, por ejemplo, si el nombre del formulario y la identificación son usuarios de fábrica
var data=$("#factoryUsers").serialize();
Ahora bien, esto funciona bien para formularios que tienen campos de texto, áreas de texto, menús desplegables simples, etc. Pero cuando tengo un menú desplegable múltiple, las cosas salen mal, por ejemplo, si tengo un menú desplegable del tipo
<select size="5" id="factoryUsers" name="factoryUsers" multiple="multiple">
la serialización ya no funciona correctamente. entonces, si selecciono 3 usuarios, obtengo una cadena de consulta como
factoryUsers=5&factoryUsers=23&factoryUsers=11
cambiar la selección al tipo de matriz tampoco ayuda a factoryUsers[]
Cualquier idea o ayuda sobre cómo hacer que esto funcione correctamente sería genial.
Intente cambiar el nombre de la selección a factoryUsers[] . De esa manera, puede recorrerlo en su backend.
La salida de cadena que describió anteriormente es la forma correcta de enviar múltiples valores para formularios con el mismo nombre a través de HTTP, por lo que jQuery funciona correctamente. Depende de usted manejar cómo se procesa esto en el lado del servidor, que luego depende del idioma que esté usando.
Si usa PHP, esto puede ayudar: http://bytes.com/topic/php/answers/12267-how-php-_post-gets-multiple-values-html-form
¿Puedes decirnos qué idioma estás usando?
Todo lo que necesita es cambiar name="factoryUsers" a name="factoryUsers[]" PHP lo tratará como una matriz.