Foros del Web » Programando para Internet » Jquery »

Cambiar el valor de onblur dinámicamente con jQuery

Estas en el tema de Cambiar el valor de onblur dinámicamente con jQuery en el foro de Jquery en Foros del Web. Hola. Estoy haciendo un formulario en el que tengo una lista de elementos y cada uno tiene su input text con un número. Este número ...
  #1 (permalink)  
Antiguo 02/11/2012, 15:36
Avatar de hshadow  
Fecha de Ingreso: abril-2008
Mensajes: 42
Antigüedad: 16 años, 6 meses
Puntos: 0
Cambiar el valor de onblur dinámicamente con jQuery

Hola.

Estoy haciendo un formulario en el que tengo una lista de elementos y cada uno tiene su input text con un número. Este número es el orden en el que los elementos se deben listar. Lo que quiero es que al cambiar un text su valor anterior pase al que tiene el valor nuevo.

Ejemplo: dados los elementos uno dos y tres en ese orden con sus respectivos números y al que dice "1" le pongo un "3", el que anteriormente tenía un "3" cambia a "1".

Ya casi está, de hecho anda, pero tengo el problema de que esto funciona una sola vez.

Necesito cambiar dinamicamente el valor de "onblur" para que el valor de "original_value" cambie acorde al nuevo valor del input.
Está en el código el "intento" de cambiar el valor en el attr "onblur" pero al parecer los eventos no se pueden cambiar con el mismo método que los atributos.

Les dejo los códigos.

HTML:
Código:
<input name="slider_elements[1]" id="slider_elements_1" type="text" value="1" onblur="setOrder(this.value, 1, this.id);" />

<input name="slider_elements[2]" id="slider_elements_2" type="text" value="2" onblur="setOrder(this.value, 2, this.id);" />

<input name="slider_elements[3]" id="slider_elements_3" type="text" value="3" onblur="setOrder(this.value, 3, this.id);" />
JS de jQuery:
Código:
function setOrder(new_value, original_value, id)
	{	
	if(is_int(new_value))
		{
		$('[value="'+new_value+'"][id!="'+id+'"]').val(original_value);
		$('#'+id).attr('onblur', 'setOrder(this.value, '+new_value+', this.id);');
		}
	else
		{}
	}
Gracias.

Última edición por hshadow; 05/11/2012 a las 08:17

Etiquetas: formulario, funcion, html, input, js, onblur
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 18:17.