2010-08-10 3 views
1

Я делаю простой сценарий jQuery, который позволит вам что-то изменить одним нажатием кнопки. Моя проблема в том, что если я изменю значение (отмечено), а затем нажмите кнопку «Отправить», он будет распознавать его как значение по умолчанию. Если вы сделаете это по умолчанию, оно отключено, поэтому, если вы его отключите (включите), а затем нажмите кнопку отправки, это будет команда по умолчанию (off). Я знаю это, потому что я использую локальное хранилище для сохранения настроек. Поэтому, если вы проверите его, обновите, а затем нажмите «Отправить», он выполнит правильное действие.Переменная не обновляется при нажатии кнопки?

Вот мой 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; 
} 

}); 

}); 

и мой простой разметки

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

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

Любые идеи, что случилось?

Пример: http://kod.singaming.net/simplify/

По умолчанию текст исчезнет, ​​если вы проверяете его, ему следует обратиться в тексте синий фон. Однако это не работает правильно, так что оно просто исчезнет, ​​но если вы его отключите, обновите и затем отправьте, он превратит синий фон.

ответ

1

Я хотел бы изменить

var test = 'true'; 

в

test = 'true'; 

в вашем районе событий CheckBox. Переменная недоступна вне функции события click.

Редактировать: То же самое происходит для снятия отметки. Удалить «var»

+0

Спасибо! Так оно и было. – MoDFoX

Смежные вопросы