Pregunta

Estoy haciendo un script jQuery simple que le permitirá cambiar algo en el clic de un botón. Mi problema es que si cambio el valor (marcado) y, a continuación, haga clic en el botón de enviar, que lo reconocerá como el valor predeterminado. Si lo hace en la forma predeterminada, se establece en off, por lo que si se echa un off (encender) y luego haga clic en el botón de envío, será el comando predeterminado (apagado). Lo sé porque yo uso el almacenamiento local para guardar la configuración. Así que si usted comprueba si fuera poco, actualizar, y haga clic en Enviar, lo hará la acción apropiada.

Aquí está mi jQuery:

$(document).ready(function(){ 
var test='false'

if (localStorage.getItem('simpSet')){
element = document.getElementById('simplify');
var test=localStorage.getItem('simpSet');

if(test == 'true'){
element.setAttribute('checked');
}

console.log(test);
}

$('#simplify').live('click', function(){

if ($('#simplify').is(':checked')){
var test='true'
console.log(test);

}else{
var test='false'
console.log(test);
}
localStorage.setItem('simpSet', test);

});

$('#button').live('click', function(){
console.log(test);

if(test == 'true'){
console.log('isTrue');
$('#test').css('background', 'blue');
return false;
}else{
$('#test').fadeOut('slow');
return false;
}

});

});

y mi sencilla marcado

<span id='simcont'>Simplify<input type='checkbox' id='simplify'></span>

<input type="submit" val='Go' id='button'>
<div id='test'>Testing simplifier</div>

Alguna idea de lo que está mal?

Ejemplo: http://kod.singaming.net/simplify/

Por defecto, el texto se desvanecerá, si se marca, se debe dar vuelta azul de fondo del texto. Esto no funciona bien sin embargo así lo hará simplemente se desvanecen, pero si usted comprueba si fuera poco, actualización y luego enviarlo a su vez, el fondo azul.

¿Fue útil?

Solución

Me gustaría cambiar

var test = 'true';

a

test = 'true';

en su área de eventos casilla. La variable no es accesible desde fuera de la función de eventos de clic.

Edit: Lo mismo vale para desmarcando. Retire el 'var'

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top