Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Problema para dividir el contenido de 2 divs

Estas en el tema de Problema para dividir el contenido de 2 divs en el foro de Javascript en Foros del Web. Buenas a tod@s. Vereis tengo el código que os pongo a continuación, esta funcionando correctamente tal cual esta ahora, pero necesito que haga algo mas ...
  #1 (permalink)  
Antiguo 29/11/2015, 06:58
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 222
Antigüedad: 13 años, 3 meses
Puntos: 7
Problema para dividir el contenido de 2 divs

Buenas a tod@s.

Vereis tengo el código que os pongo a continuación, esta funcionando correctamente tal cual esta ahora, pero necesito que haga algo mas y eso no he conseguido hacerlo por lo tanto os detallo mi problema.

Lo que hace este código es leer de una base de datos y rellenar el "selector" y cuando cambiamos el valor del mismo "selA4" me pone en el <div id="Cantidad"> la cantidad seleccionada y en el <div id="Tarifa"> el valor correspondiente del campo "descripcion" de mi base de datos, y si el valor de descripcion es ==0 me aparece un texto, ambos campos de mi base MySql son del tipo Int y longitud 5

Lo que necesito es que en el div que llamo "PrecioUnidad" aparezca el valor resultante de la división del valor del div "Tarifa" dividido por el valor del div "Cantidad" con el fin de obtener en el div "PrecioUnidad" el precio por unidad ("Tarifa" dividido por "Cantidad").

Tal como esta ahora en el div "PrecioUnidad"me aparece "NaN"
Espero haberme explicado bien aunque he sido un poco repetitivo, supongo que habrá otras maneras de obtener el precio por unidad, si alguien quiere sugerirme alguna otra forma estaré encantado en estudiar su idea.
Código Javascript:
Ver original
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
  5.         <link rel="stylesheet" type="text/css" href="../css/cav.css" />
  6. <head>
  7.         <?php          
  8.         require_once('../Connections/TuZonaPublicidad.php');
  9.         mysqli_query($conexion, "SET NAMES 'utf8'");
  10.         ?>
  11. <body>
  12. <div id="A4">                
  13.                 <div id="Selector">
  14.     <select name="sel_A4" id="sel_A4" class="select" onchange="mostrar(this, 'Cantidad', 'Tarifa', 'Conjunto' );">
  15.             <?php
  16.                 $tablaseleccionA4 = mysqli_query($conexion,"SELECT * FROM cartelesvinilo WHERE Activacion = '1' And Tamano= 'CTA4' ORDER BY Cantidad ASC");
  17.                     while ($registroseleccionA4  = mysqli_fetch_array($tablaseleccionA4 ))
  18.                     echo "<option value=".$registroseleccionA4['Cantidad']." data-description=".$registroseleccionA4['Descripcion_Precio'].">&nbsp;&nbsp;".number_format($registroseleccionA4['Cantidad'], 0, ',', '.')."</option>";
  19.                 mysqli_free_result($tablaseleccionA4);
  20.             ?>
  21.    </select>
  22.                 </div>
  23.                
  24.                 <div id="Cantidad" class="presentacion_cantidad"></div>              
  25.                 <div id="Tarifa" class="tarifa"></div>                
  26.                 <div id="Conjunto">Esto es solo texto que aparece cuando no hay valor en descripcion</div>                
  27.                 <div id="PrecioUnidad" class="tarifa"></div> <!--Aquí es donde aparece el famoso "NaN"-->
  28. </div><!-- Cierro A4 -->
  29.  
  30.  <script type="text/javascript">
  31. function mostrar( obj, valueDiv, nameDiv, conjuntoDiv){
  32.     var container = document.getElementById(nameDiv);
  33.     var container1 = document.getElementById(valueDiv);
  34.     container1.innerHTML = obj[ obj.selectedIndex ].value.replace(/\B(?=(\d{3})+(?!\d))/g, ".");   
  35.     var container2 = document.getElementById(conjuntoDiv) ;
  36.    
  37.     resultado=parseInt(document.getElementById("Tarifa").value) / parseInt(document.getElementById("Cantidad").value);
  38.     PrecioUnidad.innerHTML = resultado;
  39.        
  40.     var description = obj[ obj.selectedIndex ].dataset.description;
  41.         if (description == 0){
  42.             document.getElementById(nameDiv).style.display ="none";
  43.             document.getElementById(valueDiv).style.display ="none";
  44.             document.getElementById(conjuntoDiv).style.display ='block';               
  45.         } else {
  46.             container.innerHTML = description;
  47.             document.getElementById(nameDiv).style.display ="block";
  48.             document.getElementById(valueDiv).style.display ="block";
  49.             document.getElementById(conjuntoDiv).style.display ='none';
  50.     }
  51. }
  52. mostrar(document.getElementById("sel_A4"),"Cantidad", "Tarifa", "Conjunto");
  53. </script>
  54. </body>
  55. </html>
Espero me podáis ayudar, Gracias.
__________________
¿Hay algo mas hermoso que ayudar.?
  #2 (permalink)  
Antiguo 29/11/2015, 11:38
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Problema para dividir el contenido de 2 divs

No obtienes valor alguno ya que los <div> no poseen el atributo value. Puedes tomar su contenido mediante la propiedad innerHTML. Y como sugerencia, para tomar el valor seleccionado en el <select>, hazlo de manera directa utilizando el atributo value.

Línea 34 del código que muestras:
Código Javascript:
Ver original
  1. container1.innerHTML = obj.value.replace(/\B(?=(\d{3})+(?!\d))/g, ".");

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 30/11/2015, 13:26
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 222
Antigüedad: 13 años, 3 meses
Puntos: 7
Respuesta: Problema para dividir el contenido de 2 divs

Gracias Alexis 88

Con tu aclaración lo he podido solucionar, muchas gracias.
__________________
¿Hay algo mas hermoso que ayudar.?

Etiquetas: contenido, dividir, divs, funcion, html, php, select, valor
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 00:38.