Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/03/2017, 14:17
Avatar de Middrel
Middrel
 
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
¿Cómo pasar un valor a una función?

Hola, buenas tardes...

Sí, la pregunta es un poco rara. Si sé como pasar un valor a una función en sí, pero no sé como pasarla en el siguiente caso... les explico.

Tengo el siguiente código para crear un carrito de compras, el código no fue hecho por mí, pero le he estado haciendo algunas adaptaciones de acuerdo a lo que necesito. El código es el siguiente:

https://github.com/gabrieleromanato/...jquery.shop.js

Funciona muy bien, pero quiero hacer una adecuación con respecto a los envíos. Dependiendo la ciudad el costo será diferente. Entonces, tengo está función que implementé...

Código Javascript:
Ver original
  1. getCities: function(){
  2.            
  3.             // Obtenemos la ciudad
  4.             $("#country").change(function(e) {
  5.                 var country = $(this).val();
  6.                
  7.                 alert(country);
  8.                 return country;
  9.             });        
  10.         },

La idea es que cada que se cambie la ciudad se cambie el importe del envío, en esta función:

Código Javascript:
Ver original
  1. _calculateShipping: function( qty ) {
  2.             var shipping = 0;
  3.            
  4.             if( qty >= 6 ) {
  5.                 shipping = 10;
  6.             }
  7.             if( qty >= 12 && qty <= 30 ) {
  8.                 shipping = 20; 
  9.             }
  10.            
  11.             if( qty >= 30 && qty <= 60 ) {
  12.                 shipping = 30; 
  13.             }
  14.            
  15.             if( qty > 60 ) {
  16.                 shipping = 0;
  17.             }
  18.            
  19.             return shipping;
  20.        
  21.         },

actualmente funciona con la cantidad de productos, utilizando la variable qty, pero ya intenté por todos los medios de utilizar las variables de country, sCountry y la que cree en mi pequeña función, sólo que al parecer no llegan los valores (sí, ya modifique los argumentos que se pasan a la función) pero no logro que los convoque. La idea es que quede algo como:

Código Javascript:
Ver original
  1. _calculateShipping: function( country, sCountry) {
  2.             var shipping = 0;
  3.            
  4.             if(country == 'x ciudad'){ shipping = 10; }
  5.             if(country == 'y ciudad'){ shipping = 25; }
  6.             if(country == 'z ciudad'){ shipping = 50; }
  7.            
  8.             return shipping;

No tengo mucha experiencia en javascript, pero no creo estar muy alejado de lo que estoy tratando de hacer. ¿Alguna idea?

De antemano, les agradezco por sus comentarios.

Saludos!!