我做一个简单的jQuery脚本,可以让你改变一个点击按钮的东西。我的问题是,如果我改变的值(选中),然后点击提交按钮,它会将其识别为默认值。如果你这样做在默认情况下,它被设置为关闭,所以如果你选择了它关闭(打开),然后点击提交按钮,这将是默认(关闭)命令。我知道这是因为我使用本地存储来保存设置。所以,如果你检查它关闭,刷新,然后点击提交,它会做适当的行动。

下面是我的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/

默认情况下,文本将消失,如果你检查它,它应该把文字背景为蓝色。这不工作的权利然而所以它只会褪色,但如果你检查它关闭,刷新,然后提交它会变成背景蓝色。

有帮助吗?

解决方案

我会改变

var test = 'true';

test = 'true';

在您的复选框活动区域。变量不是点击事件功能的可访问的外部。

编辑:同样的事情会取消选中。删除 '变种'

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top