我有一个HTML表单,其中包含许多复选框,这些复选框都具有相同的类=" shared"。我使用以下内容将可检查复选框的数量限制为3,一次按预期工作:
$(document).on('change', '.shared', function() {
var countShared = $('.shared:checked').length;
if(countShared > 3 && $(this).is(':checked')) {
alert("You can only select up to 3 departments to share with.");
$(this).prop('checked',false);
}
});
现在我的问题如下:
我有3个变量,shared1,shared2和shared3,并希望将上面选中的复选框中的值分配给这些变量。我正在寻找将第一个选中复选框的值分配给变量shared1
的内容,将第二个选中复选框的值分配给shared2
,将第三个选中复选框的值分配给shared3
。
通常我会尝试使用.each循环来完成这样的事情,然后去上课.shared
,但我不知道如何应用这个,因为也可能少于3个或没有选中复选框我不知道哪些是。
我怎么能意识到这一点?
答案 0 :(得分:1)
最初将每个变量设置为 false 。
然后,如果没有选中框,则表示您已完成。如果有,只需将shared1设置为true即可。如果有两个,则将shared1和shared2设置为true,最后,如果有三个复选框,则将所有三个设置为true。
shared1 = false;
shared2 = false;
shared3 = false;
var checkedBoxes = $('.shared:checked');
if (checkedBoxes[0]) shared1 = true;
if (checkedBoxes[1]) shared2 = true;
if (checkedBoxes[2]) shared3 = true;
答案 1 :(得分:1)
如果父项中包含所有复选框元素,则可以尝试以下操作 -
$(YourSelector).index()
这将返回复选框的索引号,您可以分配给相应的变量。
只需检查索引为1的位置并分配给shared1变量,依此类推。