我有这个代码,我想迭代一些具有特定数据属性的输入字段:
<input type="checkbox" name="asdf4faef4are" checked data-something="1" onchange="check()">
<input type="checkbox" name="fgrea4g3agere" checked data-something="2" onchange="check()">
和
function check(){
var dont
$('input[data-something]').each(function(){
if($(this).attr('checked')=="true"){
dont=true
}
});
alert(dont)
}
但变量dont
未填充,因为它未在函数内设置。
如何将变量传输到外部全局范围?
我想检查用户是否取消选中所有输入字段。
更新:我发现了!如果我在没有引号的情况下将attr('checked')=="true"
更改为attr('checked')==true
,我的示例就已经很好了。但无论如何,你的答案是一个更优雅的解决方案。谢谢;)
答案 0 :(得分:1)
这是工作代码。首先需要初始化变量,然后在单击/更改复选框时调用它。
刚看到以下声明并相应地对代码进行了更改。
我想检查用户是否取消选中所有输入字段。
function checkAndAlert() {
if ($('.someclass:checked').length == $('.someclass').length) {
console.log("All are checked.");
} else if ($('.someclass:checked').length == 0) {
console.log("None are checked.");
}
}
$(".someclass").on('change', function() {
checkAndAlert();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" class="someclass" name="asdf4faef4are" data-something="1">
<input type="checkbox" class="someclass" name="fgrea4g3agere" data-something="2">
答案 1 :(得分:1)
我想检查用户是否取消选中所有输入字段。
在这种情况下,您可以使用:checked
选择器避免循环,并验证length
属性是否为0
。试试这个:
$('input[data-something]').change(function() {
var noneChecked = $('input[data-something]:checked').length == 0;
if (noneChecked)
console.log('No items checked');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="asdf4faef4are" checked="true" data-something="1" />
<input type="checkbox" name="fgrea4g3agere" checked="true" data-something="2" />
答案 2 :(得分:0)
它可能会帮助你..!
$('[type=checkbox]').prop('checked', true)
function check(){
var dont
if($(this).prop('checked') == true){
$(this).prop('checked', false)
dont = true;
} else {
$(this).prop('checked', true)
dont = false;
}
alert(dont)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="asdf4faef4are" data-something="1" onchange="check()">
<input type="checkbox" name="fgrea4g3agere" data-something="2" onchange="check()">