Foros del Web » Programando para Internet » Jquery »

Contador en Jquery

Estas en el tema de Contador en Jquery en el foro de Jquery en Foros del Web. Buenas tardes. Mi duda es la siguiente, estoy usando jquery para obtener un valor de un campo y despues meter ese valor en un if, ...
  #1 (permalink)  
Antiguo 31/07/2014, 13:39
 
Fecha de Ingreso: febrero-2014
Ubicación: Hermosillo, Sonora
Mensajes: 86
Antigüedad: 10 años, 9 meses
Puntos: 0
Contador en Jquery

Buenas tardes. Mi duda es la siguiente, estoy usando jquery para obtener un valor de un campo y despues meter ese valor en un if, dependiendo de la respuesta hace determinada accion en otra lista. Aqui esta el codigo para ilustrar

<script>
$(document).ready(function(){
$("#id_tipo_de_banco").on('change',function(){
var valor = $(this).val();
if( valor == "2"){
$("#id_cuenta_contable").html('<option value="7" ">02-01-02</option>');
}else{
$("#id_cuenta_contable").html('<option value="8" ">02-02-02</option>');
}
});
});
</script>

Lo que quiero hacer es en que en los valores que se agregan en la otra lista, ya sea 02-01-02 o 02-02-02. El ultimo numero aumente en uno para la proxima vez dependiendo cual haya sido la eleccion. Es decir si el valor fue igual a 2, entonces aparecera 02-01-02. pero para la proxima vez que entre otra persona ese numero ahora deberia ser 02-01-03. Habia pensado en usar un contador, pero si alguien tiene una idea mejor de como hacerlo.
  #2 (permalink)  
Antiguo 31/07/2014, 14:23
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Contador en Jquery

La idea que tienes es la más sensata, aunque no me queda claro el patrón de aumento que debería seguirse. Quizá si nos lo muestras con un ejemplo, se pueda entender mejor y así podremos ayudarte. No olvides usar el highlight respectivo para colocar código.

Saludos
__________________
«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 31/07/2014, 14:50
 
Fecha de Ingreso: febrero-2014
Ubicación: Hermosillo, Sonora
Mensajes: 86
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Contador en Jquery

Tengo la idea del contador, pero en si no se como hacerle para que funcione dentro del jquery
  #4 (permalink)  
Antiguo 31/07/2014, 15:01
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Contador en Jquery

Me refería a que cómo quieres que sea el resultado final, porque la explicación que diste al inicio es un poco confusa.
__________________
«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
  #5 (permalink)  
Antiguo 31/07/2014, 15:31
 
Fecha de Ingreso: febrero-2014
Ubicación: Hermosillo, Sonora
Mensajes: 86
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Contador en Jquery

a ok. Primero serian esas dos opciones que maneje.

02-01-02

02-02-02

Cual quiera de las dos que escoja el usuario, para la proxima vez la opcion escogida, debe aumentar en uno, para que no se pueda escoger la opcion, de la vez anterior. asi:

02-01-03

02-02-02

Esto es, suponiendo que en la otra ocasion el usuario habia escogido 02-01-02.
  #6 (permalink)  
Antiguo 31/07/2014, 16:05
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Contador en Jquery

En ese caso, sería algo así:

Código Javascript:
Ver original
  1. $("#id_del_select").change(function(){
  2.     var valor = this.value,
  3.         opcion = this.selectedIndex,
  4.         separado = valor.split("-"),
  5.         aux = null,
  6.         final = null;
  7.  
  8.     if (opcion === 0){
  9.         aux = Number(separado[2]) + 1;
  10.         separado[2] = aux < 10 ? "0" + aux : aux;
  11.     }
  12.     else{
  13.         aux = Number(separado[1]) + 1;
  14.         separado[1] = aux < 10 ? "0" + aux : aux;
  15.     }
  16.  
  17.     final = separado.join("-");
  18.  
  19.     this.options[this.selectedIndex].value = final;
  20.     this.options[this.selectedIndex].innerHTML = final;
  21. });

Lo que hace este script es lo siguiente. Cuando cambiemos el valor del <select> (de ahora en adelante 'combo'), ejecutamos una función, en la cual tomamos el valor seleccionado, el número de opción (la primera, la segunda, etc.), separamos el valor seleccionado desde los guiones y declaramos dos variables que usaremos más adelante. Luego, verificamos qué opción elegimos; si fue la primera, tomamos a la tercera parte del valor seleccionado, le damos formato numérico y le sumamos uno, para luego añadir este valor en lugar del antiguo, sucediendo algo similar si elegimos otra opción, con la diferencia de que el valor a actualizar será el segundo.

Finalmente, unimos todo con guiones y asignamos este valor actualizado tanto al atributo value de la opción seleccionada como a la parte visible de esta.



Ojo, si se tratan de fechas, vas a tener que realizar algunos ajustes para evitar resultados como '43-52-43' o similares.

Saludos
__________________
«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
  #7 (permalink)  
Antiguo 31/07/2014, 16:23
 
Fecha de Ingreso: febrero-2014
Ubicación: Hermosillo, Sonora
Mensajes: 86
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Contador en Jquery

A ok. Creo que no me explique bien en una parte, eso es lo que debe hacer en efecto, pero el valor lo toma de una lista digamos lista 1, despues segun el valor que tome de esa lista, va a mostrar una de las dos cuentas en la otra lista, no ambas, bueno asi es como lo tengo planeado.

En pocas palabras segun lo que pase en el primero, automaticamente en la otra lista, ya tiene que aparecer el otro numero ya aumentando en 1, sin necesidad de cambiarlo

Última edición por miguelalexep; 31/07/2014 a las 16:31
  #8 (permalink)  
Antiguo 31/07/2014, 16:50
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Contador en Jquery

En ese caso, inténtalo así:

Código Javascript:
Ver original
  1. var val1 = "02-01-02",
  2.     val2 = "02-02-02";
  3.  
  4. $("#id_select1").change(function(){
  5.     var nuevo = document.createElement("option"),
  6.         opcion = this.selectedIndex,
  7.         separado = null,
  8.         aux = null,
  9.         final = null;
  10.  
  11.     if (opcion === 0){
  12.         separado = val1.split("-");
  13.         aux = Number(separado[2]) + 1;
  14.         separado[2] = aux < 10 ? "0" + aux : aux;
  15.         val1 = separado.join("-");
  16.         nuevo.value = val1;
  17.         nuevo.innerHTML = val1;
  18.     }
  19.     else{
  20.         separado = val2.split("-");
  21.         aux = Number(separado[1]) + 1;
  22.         separado[1] = aux < 10 ? "0" + aux : aux;
  23.         val2 = separado.join("-");
  24.         nuevo.value = val2;
  25.         nuevo.innerHTML = val2;
  26.     }  
  27.    
  28.     $("#id_select2").html(nuevo);
  29. });

En este caso, tenemos dos variables globales, cada una conteniendo los valores equivalentes de las dos opciones del combo, luego, al cambiar el valor del mismo, creo una opción, tomo el número de la opción seleccionada y declaro tres variables que usaré luego. Enseguida, evalúo la opción seleccionada; si es la primera, separo los valores de val1 (que representa a la primera opción), aumento el tercero de sus valores, los junto y actualizo el valor de dicha variable (no de la opción del combo), luego, añado ese nuevo valor a la opción creada. Lo mismo sucederá si se elige la segunda opción.

Finalmente, añado la nueva opción al segundo combo.



Saludos
__________________
«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
  #9 (permalink)  
Antiguo 31/07/2014, 17:10
 
Fecha de Ingreso: febrero-2014
Ubicación: Hermosillo, Sonora
Mensajes: 86
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Contador en Jquery

Mmmmm, pues si hace lo que quiero, pero no busco hacerle click a una lista con los numeros, para aumentar la otra.

Tengo una lista donde manejo, nacional y extranjero. Depende de ese valor, cual de los dos numeros se mostrara. en la otra lista

SI es nacional es 02-01-02.
Si es extranjero 02-02-02

Aparte esa lista la llamo asi

<tr>
<td>Tipo de Banco:</td>
<td>{{ form.tipo_de_banco }}</td>
<td>{{ form.tipo_de_banco.errors }}</td>
</tr>

y la de las cuentas la llamo asi

<tr>
<td>Cuenta contable:</td>
<td>{{ form.cuenta_contable }}</td>
<td>{{ form.cuenta_contable.errors }}</td>
</tr>

Lo que deberia pasar, es que ya automaticamente aparezca el numero de cuenta actualizado
  #10 (permalink)  
Antiguo 31/07/2014, 17:12
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Contador en Jquery

Ya veo, es que como dices 'listas', lo primero que se me viene a la mente es una lista desplegable, o sea, un <select>.

En ese caso, te va a tocar recorrer las celdas de la tabla y realizar lo que deseas con cada valor hallado, asignando el nuevo resultado a la celda equivalente en la segunda lista.

Saludos
__________________
«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
  #11 (permalink)  
Antiguo 31/07/2014, 17:13
 
Fecha de Ingreso: febrero-2014
Ubicación: Hermosillo, Sonora
Mensajes: 86
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Contador en Jquery

En si el problema que tengo es para agregar o mas bien sumar al ultimo digito, de las cuentas que estoy manejando
  #12 (permalink)  
Antiguo 31/07/2014, 17:18
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Contador en Jquery

Fíjate en la manera que lo hago en el ejemplo de arriba, ahí tienes una buena referencia.

Saludos
__________________
«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

Etiquetas: contador
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:05.