Foros del Web » Programando para Internet » Javascript »

Lectura de <SELECT> dinamico ayuda

Estas en el tema de Lectura de <SELECT> dinamico ayuda en el foro de Javascript en Foros del Web. Necesito para una aplicacion que estoy haciendo ejecutar un script en javascript que vaya haciendo una sumatoria en el campo RES_ADD_TOTAL segun vayan cambiandom los ...
  #1 (permalink)  
Antiguo 30/03/2010, 01:08
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 65
Antigüedad: 21 años, 7 meses
Puntos: 2
Lectura de <SELECT> dinamico ayuda

Necesito para una aplicacion que estoy haciendo ejecutar un script en javascript que vaya haciendo una sumatoria en el campo RES_ADD_TOTAL segun vayan cambiandom los valores de los select dinamicos de la pagina.

Les dejo con un extracto de ejemplo

Primera parte (HTML-PHP)
Código PHP:
Ver original
  1. //Estos son los select dinamicos
  2. foreach ( $room_list as $key => $value ) {
  3.    echo "<td><select class=\"form_box\" name=\"EXTRA_BED[$key]\" onChange=\"calcula_extravalues()\"><option value=\"0\">0</option>";
  4.    for ( $i=1; $i <= $value[2]; $i++ ) {
  5.         echo "<option value=\"$i\">$i</option>";
  6.         }
  7.    echo "</select></td>";
  8. //Y este el que contiene el valor del precio para multiplicar por el.
  9. echo "<td align=\"center\"><input name=\"EX_PRICE\" class=\"form_box\" size=\"2\" value=\"20\" disabled>€</td>";

Hasta aqui bien (o eso creo!)

Código Javascript:
Ver original
  1. function calcula_extravalues(){
  2.  
  3.            var i = 0
  4.            var indice = 0
  5.            var exbed_ct = 0
  6.  
  7.            for (i=0; i<<?php echo $ResHabCt?>; i++) {
  8.                    indice = document.PAYMENT.EXTRA_BED[i].selectedIndex;
  9.                    //Voy sumando los valores de los diferentes EXTRA_BED[X].......
  10.                    exbed_ct += document.PAYMENT.EXTRA_BED[i].options[indice].value
  11.                    }  
  12.            // y los multiplico por el campo que contien el precio            
  13.  
  14.            var valor_exprice = document.PAYMENT.EX_PRICE.value
  15.  
  16.            document.PAYMENT.RES_ADD_TOTAL.defaultValue = exbed_ct * valor_exprice
  17.  
  18.            }

Bueno y el resultado NADA!!!!!

Bueno pues eso AYUDA!!!!!!
GRACIAS DE ANTEMANO
  #2 (permalink)  
Antiguo 30/03/2010, 02:04
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Lectura de <SELECT> dinamico ayuda

Verifica este ejemplo
Código HTML:
Ver original
  1. <script type="text/javascript">
  2. function fooBarCandy(){
  3.     for(var i=0; i<document.getElementsByTagName("select").length; i++){
  4.         alert(document.candy["foo[" + i + "]"].options[document.candy["foo[" + i + "]"].selectedIndex].value);
  5.     }
  6. }
  7.  
  8. <form name="candy">
  9.     <select name="foo[0]">
  10.         <option value="bar1">bar1</option>
  11.         <option value="bar2">bar2</option>
  12.         <option value="bar3">bar3</option>
  13.         <option value="bar4">bar4</option>
  14.         <option value="bar5" selected="selected">bar5</option>
  15.         <option value="bar6">bar6</option>
  16.         <option value="bar7">bar7</option>
  17.     </select>
  18.  
  19.     <select name="foo[1]">
  20.         <option value="bar1">bar1</option>
  21.         <option value="bar2" selected="selected">bar2</option>
  22.         <option value="bar3">bar3</option>
  23.         <option value="bar4">bar4</option>
  24.         <option value="bar5">bar5</option>
  25.         <option value="bar6">bar6</option>
  26.         <option value="bar7">bar7</option>
  27.     </select>
  28.  
  29.     <select name="foo[2]">
  30.         <option value="bar1">bar1</option>
  31.         <option value="bar2">bar2</option>
  32.         <option value="bar3">bar3</option>
  33.         <option value="bar4" selected="selected">bar4</option>
  34.         <option value="bar5">bar5</option>
  35.         <option value="bar6">bar6</option>
  36.         <option value="bar7">bar7</option>
  37.     </select>
  38.  
  39.     <select name="foo[3]">
  40.         <option value="bar1">bar1</option>
  41.         <option value="bar2">bar2</option>
  42.         <option value="bar3">bar3</option>
  43.         <option value="bar4">bar4</option>
  44.         <option value="bar5">bar5</option>
  45.         <option value="bar6">bar6</option>
  46.         <option value="bar7" selected="selected">bar7</option>
  47.     </select>
  48.  
  49. </form>
  50.  
  51. <script type="text/javascript">
  52. fooBarCandy();
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 30/03/2010, 02:14
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 65
Antigüedad: 21 años, 7 meses
Puntos: 2
Respuesta: Lectura de <SELECT> dinamico ayuda

Gracias lo miro y te comento
  #4 (permalink)  
Antiguo 30/03/2010, 02:50
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 65
Antigüedad: 21 años, 7 meses
Puntos: 2
Respuesta: Lectura de <SELECT> dinamico ayuda

Perfecto "ERES UN GENIO".....

Al final no he modificado el php o sea que vale el mencionado en el planteamiento inicial.
y respectoa la propuesta que me haces he decido no utilizar document.getElementsByTagName
porque tengo otros select en el mismo formulario que no estoy interesado en saber su valor, con lo cual ahi les dejo la solucion final por si puede ayudar a alguien.

el codigo PHP:

Código PHP:
Ver original
  1. //Estos son los select dinamicos
  2. foreach ( $room_list as $key => $value ) {
  3.         echo "<td><select class=\"form_box\" name=\"EXTRA_BED[$key]\" onChange=\"calcula_extravalues()\"><option value=\"0\">0</option>";
  4.          for ( $i=1; $i <= $value[2]; $i++ ) {
  5.               echo "<option value=\"$i\">$i</option>";
  6.               }
  7.          echo "</select></td>";
  8.       //Y este el que contiene el valor del precio para multiplicar por el.
  9.       echo "<td align=\"center\"><input name=\"EX_PRICE\" class=\"form_box\" size=\"2\" value=\"20\" disabled>€</td>";

Y este el script de java que lee y calcula:

Código Javascript:
Ver original
  1. function calcula_extravalues(){
  2.            var exb_values = 0
  3.            for (i=0; i<<?php echo $ResHabCt?>; i++) { //Uso este pedazo de codigo de php porque lo tengo disponible para saber cuantos ciclos de <SELECT> he impreso previamente
  4.                     exb_values += eval(document.PAYMENT["EXTRA_BED[" + i + "]"].options[document.PAYMENT["EXTRA_BED[" + i + "]"].selectedIndex].value);
  5.                }              
  6.            var valor_exprice = document.PAYMENT.EX_PRICE.value
  7.            document.PAYMENT.RES_ADD_TOTAL.defaultValue = exb_values * valor_exprice
  8.   }

Y voila funciona!!!!
Gracias por las pistas abimaelrc

Etiquetas: dinamico, lectura
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:04.