Obtener valores de múltiples cuadros de selección con el mismo nombre? Incluyendo su valor con jquery y php

He buscado respuestas aquí y no he encontrado nada que pueda ayudarme directamente, así que voy a preguntar aquí. Tengo un formulario con varios cuadros de selección:

 ABC DEF GHI   ABC DEF GHI  

Como puede ver, son exactamente la misma casilla de selección. Le he dicho al cliente que use seleccionar múltiple, pero él lo quiere de esta manera. El usuario puede agregar tantos cuadros de selección como desee (por lo que podría tener hasta 20 cuadros de selección a la vez) y necesito obtener el valor (1 o 2 o 3) y el texto dentro de la opción. Es entonces una matriz que necesito descomponer porque necesito agregar los valores totales de los cuadros de selección en php. Podría usar jquery para recostackr los valores o php, lo que es más fácil. ¡¡Gracias de antemano por cualquier ayuda!!

Pruebe esto, también funcionará para elementos seleccionados creados dinámicamente.

 $(document).on('change', 'select[name="acabados[]"]', function(){ var total = 0; $('select[name="acabados[]"]').each(function(){ total += parseInt($(this).val()); }); }); 

var total contendrá el total de todos los elementos seleccionados de valor seleccionado.

 $(function () { var $select = $('select'); $select.on('change', function () { var output = 0; for (var i = 0, len = $select.length; i < len; i++) { output += parseInt($select.eq(i).val()); } //the `output` variable now contains the addition of all the values from the `acabados[]` select elements }); }); 

Aquí hay una demostración: http://jsfiddle.net/aPXXA/1/

Puede cambiar var $select = $('select'); var $select = $('[name="acabados[]"]'); para seleccionar solo los elementos select con el atributo de nombre acabados[] .

Si desea recuperar los valores en PHP, puede simplemente usar $_POST['acabados'] y contendrá todos los valores seleccionados en cada menú. Vea una demostración. Siempre que incluya el [] después del nombre, se combinarán todos los valores de cualquier elemento con ese nombre en una única matriz. ¡Incluso puede mezclar menús, entradas y áreas de texto !

¿Por qué no simplemente darles diferentes identificaciones y hacer el conteo en jquery / javascript? Alternativamente, déles la misma clase y haga .each () para obtener los valores en todos ellos.