对于我缺乏知识的道歉,我确信这是一个简单的解决方案。
我的网页上有很多复选框。 选中复选框时,会将值1发送给变量。
参见示例:
$('#teamwork, #goodcommunicator, #self-motivated, #computerskills, #planning, #selfmanagement, #flexibleteamplayer, #timedeadlines').click(function() {
var check = document.getElementById("teamwork, goodcommunicator, planning, self-motivated, computerskills, selfmanagement, flexibleteamplayer, timedealines").checked
if (check == true) {
job1 += 1;
job2 += 1;
job3 += 1;
job4 += 1;
job5 += 1;
job6 += 1;
job7 += 1;
job8 += 1;
workSkillsCheckboxCount += 1;
console.log(workSkillsCheckboxCount);
}
else if (check == false) {
job1 -= 1;
job2 -= 1;
job3 -= 1;
job4 -= 1;
job5 -= 1;
job6 -= 1;
job7 -= 1;
job8 -= 1;
workSkillsCheckboxCount -= 1;
console.log(workSkillsCheckboxCount);
}
});
许多复选框'函数加倍,我想写一个大函数,而不是一些函数。 下面的这个功能似乎不起作用。
$('.group1').click(function(){
var check = document.getElementsByClassName("group1").checked
if (check == true) {
job1 += 1;
job2 += 1;
job3 += 1;
job4 += 1;
job5 += 1;
job6 += 1;
job7 += 1;
job8 += 1;
workSkillsCheckboxCount += 1;
console.log(workSkillsCheckboxCount);
}
else if (check == false) {
job1 -= 1;
job2 -= 1;
job3 -= 1;
job4 -= 1;
job5 -= 1;
job6 -= 1;
job7 -= 1;
job8 -= 1;
workSkillsCheckboxCount -= 1;
console.log(workSkillsCheckboxCount);
}
});
我尝试给出一个类的相应复选框,然后编写了这个函数。但这似乎并没有将值发送到workSkillsCheckboxCount变量。
"Transactions": {
".write": "auth !== null",
"$transactionAutoID": {
"timeCreated": {
".write": "auth !== null && data.child('sender').val() === auth.uid || data.child('receiver').val() === auth.uid",
".read": "auth !== null && data.child('sender').val() === auth.uid || data.child('receiver').val() === auth.uid"
}
}
}
答案 0 :(得分:0)
let randomRed:CGFloat = CGFloat(arc4random_uniform(256))
let randomGreen:CGFloat = CGFloat(arc4random_uniform(256))
let randomBlue:CGFloat = CGFloat(arc4random_uniform(256))
let myColor = UIColor(red: randomRed/255, green: randomGreen/255, blue: randomBlue/255, alpha: 1.0)
函数将单个ID作为参数,并返回具有该ID的(第一个)元素(如果未找到,则返回.getElementById()
)。您不能使用ID列表来调用它。
赋予元素一个公共类是识别它们的最佳方法,但null
属性属于单个复选框,因此您不能在.checked
的结果上使用它(它返回一个列表)。
您在评论中说,您正在尝试测试是否至少检查了一个项目。 jQuery的.is()
method将:
根据选择器,元素或jQuery对象检查当前匹配的元素集,如果这些元素中至少有一个与给定的参数匹配,则返回true。
因此,如果您与:checked
selector一起使用,则可以测试是否检查了.getElementsByClassName("group1")
类的任何元素:
group1
请注意,如果您的$('.group1').click(function(){
if ($('.group1').is(':checked')) {
job1 += 1;
// etc.
} else { // none are checked:
job1 -= 1;
// etc.
}
});
和if
分支都更新完全相同的变量集,唯一的区别是是添加还是减去else
,那么您可以执行以下操作:
1
答案 1 :(得分:0)
这是一个简单的解决方案:
$(".check").on("click", function() {
if ($(this).is(':checked')) {
// do your checked activity here
// if your further want to know which checkbox was checked recently then $(this).attr('name') will be handy
console.log("Checkbox "+$(this).attr('name')+" checked: true");
} else {
// do your unchecked activity here
// if your further want to know which checkbox was unchecked recently then $(this).attr('name') will be handy
console.log("Checkbox "+$(this).attr('name')+" checked: false");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="check" name="c1" type="checkbox" />
<input class="check" name="c2" type="checkbox" />
<input class="check" name="c3" type="checkbox" />
<input class="check" name="c4" type="checkbox" />
<input class="check" name="c5" type="checkbox" />
<input class="check" name="c6" type="checkbox" />