更改jquery函数外部变量的值

更改jquery函数外部变量的值,jquery,Jquery,我有这样一段代码,我想迭代一些具有特定数据属性的输入字段: <input type="checkbox" name="asdf4faef4are" checked data-something="1" onchange="check()"> <input type="checkbox" name="fgrea4g3agere" checked data-something="2" onchange="check()"> 但是变量dont没有填充,因为它没有在函数中设置

我有这样一段代码,我想迭代一些具有特定数据属性的输入字段:

<input type="checkbox" name="asdf4faef4are" checked data-something="1" onchange="check()">
<input type="checkbox" name="fgrea4g3agere" checked data-something="2" onchange="check()">
但是变量
dont
没有填充,因为它没有在函数中设置

如何将变量转移到外部全局范围

我想检查用户是否未选中所有输入字段



更新:我发现了!如果我将
attr('checked')==“true”
更改为
attr('checked')==true而不加引号,那么我的示例已经运行良好。但无论如何,你的答案是一个更优雅的解决方案。谢谢;)

这是工作代码。首先需要初始化变量,然后在单击/更改复选框时调用它

刚才看到下面的语句,并相应地对代码进行了更改

我想检查用户是否未选中所有输入字段

函数checkAndAlert(){
if($('.someclass:选中').length==$('.someclass').length){
log(“所有都已检查”);
}else if($('.someclass:checked')。长度==0){
log(“未选中任何项”);
}
}
$(“.someclass”).on('change',function(){
checkAndAlert();
});

这是工作代码。首先需要初始化变量,然后在单击/更改复选框时调用它

刚才看到下面的语句,并相应地对代码进行了更改

我想检查用户是否未选中所有输入字段

函数checkAndAlert(){
if($('.someclass:选中').length==$('.someclass').length){
log(“所有都已检查”);
}else if($('.someclass:checked')。长度==0){
log(“未选中任何项”);
}
}
$(“.someclass”).on('change',function(){
checkAndAlert();
});

我想检查用户是否未选中所有输入字段

在这种情况下,您可以使用
:checked
选择器避免循环,并验证
length
属性是否为
0
。试试这个:

$('input[data something]')。更改(function(){
var noneChecked=$('input[data something]:checked')。长度==0;
如果(未选中)
console.log(“未检查项目”);
});

我想检查用户是否未选中所有输入字段

在这种情况下,您可以使用
:checked
选择器避免循环,并验证
length
属性是否为
0
。试试这个:

$('input[data something]')。更改(function(){
var noneChecked=$('input[data something]:checked')。长度==0;
如果(未选中)
console.log(“未检查项目”);
});

它可能会在你的道路上帮助你

$('[type=checkbox]')。prop('checked',true)
函数检查(){
var dont
if($(this).prop('checked')==true){
$(this.prop('checked',false)
Don=正确;
}否则{
$(this.prop('checked',true)
Don=假;
}
警惕(不要)
}

它可能会在你的道路上帮助你

$('[type=checkbox]')。prop('checked',true)
函数检查(){
var dont
if($(this).prop('checked')==true){
$(this.prop('checked',false)
Don=正确;
}否则{
$(this.prop('checked',true)
Don=假;
}
警惕(不要)
}


我澄清了我的示例我澄清了我的示例您的第一个版本更接近我的尝试,请您回退并解释为什么您的版本有效而我的版本无效?嗯,我想您的要求是检查是否所有版本都已检查过。如果是,这个和上面的解决方案是完美的。我发现了!如果我将
“true”
更改为
true
是,我的示例已经运行良好!那是你问题中的错误。我删除了。你的第一个版本更接近我的尝试,你能回滚并解释为什么你的版本有效而我的版本无效吗?嗯,我想你的要求是检查是否所有版本都已检查。如果是,这个和上面的解决方案是完美的。我发现了!如果我将
“true”
更改为
true
是,我的示例已经运行良好!那是你问题中的错误。我搬走了。
function check(){
  var dont
  $('input[data-something]').each(function(){
    if($(this).attr('checked')=="true"){
        dont=true
    }
  });
  alert(dont)
}