你好每一个我都想在编程方面做得更好,如果你能帮助我,我将不胜感激。我想要做的是设置变量var easymode = false;
..然后我想检查是否通过复选框选择了easymode选项。我使用jQuery change()方法,所以当用户点击和关闭框时,我可以动态获取一个布尔值。在change方法中我想将easymode的值更改为true或false。我知道我做得不对if(easymode){
console.log('true');
}
当检查easymode时,它不会变为真。
码
$(document).ready(function(){
var easymode = false;
console.log(easymode)
$("input[type=checkbox]").change(function(){
if($(this).val() == "easy" && $(this).is(':checked')){
easymode = true;
}
else if($(this).val() == "easy" && !$(this).is(':checked')){
// alert('not easy mode');
easymode = false;
}
if($(this).val() == "hard" && $(this).is(':checked')){
alert('hard mode')
}
else if($(this).val() == "hard" && !$(this).is(':checked')){
alert('not hard mode');
}
})
if(easymode){
console.log('true');
}
)
});
Easy <input type="checkbox" id="justchange" value="easy"><br>
Hard <input type="checkbox" id="fullprice" value="hard">
<input type="text" id="textbox1">
答案 0 :(得分:0)
我认为你正在寻找这样的东西:
当用户点击easy时,将启用easy模式(easymode = true)并且取消选中hard。当用户点击很难时,easymode = false并且取消选中easy。
当然,您可以使用无线电而不是复选框,并默认使用选中/取消选中的功能。
$(document).ready(function(){
var easymode = false,
easy = $('#justchange'),
hard = $('#fullprice');
easy.on('click', function(){
if($(this).is(':checked')){
easymode = true;
hard.prop('checked', false);
}else{
easymode = false;
}
});
hard.on('click', function(){
if($(this).is(':checked')){
easymode = false;
easy.prop('checked', false);
alert('hard mode');
}else{
alert('not hard mode');
}
});
});
还有jsfiddle:http://jsfiddle.net/xfh32v2o/
答案 1 :(得分:0)
您的代码中有一个错误,关闭了一个额外的括号。此外,我还没有添加,但是当你勾选其中一个时,你可能想要解开另一个框。
$(document).ready(function(){
var easymode = false;
console.log(easymode);
$("input[type=checkbox]").on("change", function(){
if($(this).val() == "easy" && $(this).is(':checked')){
easymode = true;
alert('easy mode');
}
else if($(this).val() == "easy" && !$(this).is(':checked')){
alert('not easy mode');
easymode = false;
}
if($(this).val() == "hard" && $(this).is(':checked')){
alert('hard mode');
}
else if($(this).val() == "hard" && !$(this).is(':checked')){
alert('not hard mode');
}
});
if(easymode){
console.log('true');
}
});