Foros del Web » Programando para Internet » Javascript »

Desarrolallar pequeña factura y detalles

Estas en el tema de Desarrolallar pequeña factura y detalles en el foro de Javascript en Foros del Web. Hola saludos a todos, quisiera que me ayuden de como generar una pequeña factura con sus detalles, bueno creo que debe de ser algo con ...
  #1 (permalink)  
Antiguo 10/06/2011, 08:34
 
Fecha de Ingreso: mayo-2011
Ubicación: Lima
Mensajes: 89
Antigüedad: 12 años, 10 meses
Puntos: 0
Desarrolallar pequeña factura y detalles

Hola saludos a todos, quisiera que me ayuden de como generar una pequeña factura con sus detalles, bueno creo que debe de ser algo con "<td>" y "<tr>" para formar el detalle cada vez que le de click en algun boton como agregar... esos es lo que creo o como es que debeira ser, de antemano les agradesco mucho por ayuda y asesoria para poder realizar esto gracias...
  #2 (permalink)  
Antiguo 10/06/2011, 10:57
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 4 meses
Puntos: 56
Respuesta: Desarrolallar pequeña factura y detalles

Código javascript:
Ver original
  1. <style type="text/css">#factura td{cursor:pointer} .sel {background:#333;color:white} </style>
  2. <i>Click en el detalle para seleccionar</i>
  3. <table id="factura">
  4.     <tr><th>Detalle</th><th rel="precio">Precio</th></tr>
  5.     <tr><td>Item 1</td><td>200</td></tr>
  6.     <tr><td>Item 2</td><td>100</td></tr>
  7.     <tr><td>Item 3</td><td>180</td></tr>
  8.     <tr><th colspan="2">Total: <b id="total">0</b></th></tr>
  9. </table>
  10.  
  11. <script type="text/javascript">
  12. Object.prototype.hasClass = function(className) {   var pattern = new RegExp('(^|\\s)' + className + '(\\s|$)');   return pattern.test(this.className)}
  13. Object.prototype.addClass = function(className) {   if (!this.hasClass(className)) {  this.className += (' ' + className) }}
  14. Object.prototype.removeClass = function(className) {  var pattern = new RegExp('(^|\\s)' + className + '(\\s|$)');   this.className = this.className.replace(pattern, ' ');}
  15.  
  16. function inicio(idf,idt,relp){
  17.     var d = document, f = d.getElementById(idf), tr = f.getElementsByTagName('tr'), i;
  18.     var h = tr[0].getElementsByTagName('th'), x, index = 0;
  19.     for(x=0;x<h.length;x++){if(h[x].getAttribute("rel")==relp){index = x}}
  20.     for(i=1;i<tr.length-1;i++){
  21.         tr[i].onclick = function(){
  22.             var val = parseInt(this.getElementsByTagName('td')[index].innerHTML), t = d.getElementById(idt), ahora =  parseInt(t.innerHTML);
  23.             if(!this.hasClass('sel')){  this.addClass('sel');t.innerHTML =  ahora + val;}else{  this.removeClass('sel'); t.innerHTML =  ahora - val;}
  24.         }
  25.     }
  26. }
  27. inicio('factura','total','precio') //ID tabla factura, ID total, REL precio
  28. </script>

La función inicio crea eventos a los detalles para sumar al total si el detalle està seleccionado.
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #3 (permalink)  
Antiguo 10/06/2011, 12:08
 
Fecha de Ingreso: mayo-2011
Ubicación: Lima
Mensajes: 89
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Desarrolallar pequeña factura y detalles

gracias por la respuesta, pero como haria para agregar "n " detalles,

Factura|Monto
1 | 15.00
2 | 15.00
Total 30.00

de antemano gracias por el tiempo que te tomas, en resolver mis dudas... gracias

Etiquetas: detalles, factura, pequeña
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 13:18.