Javascript 如何知道每个循环选择了哪些选项 清单1,项目1 清单1,项目2 清单1,项目3 清单1,项目4 清单2,项目1 清单2,项目2 清单2,项目3 清单3,项目1
我如何知道当我选择前4个选项时,Javascript 如何知道每个循环选择了哪些选项 清单1,项目1 清单1,项目2 清单1,项目3 清单1,项目4 清单2,项目1 清单2,项目2 清单2,项目3 清单3,项目1,javascript,jquery,frontend,Javascript,Jquery,Frontend,我如何知道当我选择前4个选项时,data index=“0”中的数量是1,当我选择以下3个选项时,data index=“1”中的数量是1。。。当我选择一个选项时,我添加了以下类“方形选项选择” 补充了评论中的澄清 在每个组中,如果选择所有选项,我有n个选项 选项每组中的数量必须更改为1 只有组1的quantity元素,如果我在 第2组的第2组数量元素应为1 我得到了这个,但只有在您选择最后一个孩子时才起作用 在每个组中,我有n个选项,如果选择所有选项,则每个组中的数量必须更改为1 很可能有比
data index=“0”
中的数量是1,当我选择以下3个选项时,data index=“1”
中的数量是1。。。当我选择一个选项时,我添加了以下类“方形选项选择”
补充了评论中的澄清
在每个组中,如果选择所有选项,我有n个选项 选项每组中的数量必须更改为1 只有组1的quantity元素,如果我在 第2组的第2组数量元素应为1 我得到了这个,但只有在您选择最后一个孩子时才起作用
在每个组中,我有n个选项,如果选择所有选项,则每个组中的数量必须更改为1 很可能有比下面更好、更优雅的方法来实现这一点,但是您应该能够使用这个工作示例,并在您自己的代码中使其工作
您可以使用类似于以下内容的
同级:
$('.nav').each(function(index_block, item_block){
$('.square_option', this).on('click', function(index_opcion, item_opcion){
if($(this).hasClass('square-option-select')){
if(index_opcion == 3 && index_block == 0){
$('.quantity[data-index="' + index_block + '"]').val(1)
} else if(index_opcion == 2 && index_block == 1){
$('.quantity[data-index="' + index_block + '"]').val(1)
} else if(index_opcion == 0 && index_block == 2){
$('.quantity[data-index="' + index_block + '"]').val(1)
}
}
});
});
$(文档).ready(函数(){
$('.square_option')。在('单击',函数()上){
var$currentOption=$(此项);
$currentOption.toggleClass('square-option-select');
var allOptions=$currentOption.sides('.square_option')。add($currentOption);
var selectedOptions=allOptions.filter(函数(){
return$(this.hasClass('square-option-select'))
});
变量数量=$currentOption.sides('.quantity').eq(0);
var allSelected=allOptions.length==selectedOptions.length;
quantity.val(全部选定?1:“”);
});
});代码>
.square\u选项{
显示:块;
}
.square选项选择{
背景颜色:黄色;
}
清单1,项目1
清单1,项目2
清单1,项目3
清单1,项目4
清单2,项目1
清单2,项目2
清单2,项目3
清单3,项目1
请发布您的代码。如果您遇到问题,我们可以查看问题所在。-还有,我不明白你想达到什么目的。您是否正在尝试检查所选选项
元素所属的数量
元素?如果您在每个“组”中选择了1个,那么您期望的是什么?在每个组中,我有n个选项,如果您选择所有选项,则数量必须更改为1,在每个组中,如果我在组1中选择了所有选项,您希望将所有数量
元素的数据索引
设置为1
还是仅将组1的数量
元素设置为如果是这样的话,您应该能够使用您先前发布的代码,使用同级
选择器解决此问题。只有组1的数量元素,如果我选择组2中的所有选项,则组2的数量元素应为1
$('.nav').each(function(index_block, item_block){
$('.square_option', this).on('click', function(index_opcion, item_opcion){
if($(this).hasClass('square-option-select')){
if(index_opcion == 3 && index_block == 0){
$('.quantity[data-index="' + index_block + '"]').val(1)
} else if(index_opcion == 2 && index_block == 1){
$('.quantity[data-index="' + index_block + '"]').val(1)
} else if(index_opcion == 0 && index_block == 2){
$('.quantity[data-index="' + index_block + '"]').val(1)
}
}
});
});
$('.square_option').on('click', function() {
var $currentOption = $(this);
$currentOption.toggleClass('square-option-select');
var allOptions = $currentOption.siblings('.square_option').add($currentOption);
var selectedOptions = allOptions.filter(function() {
return $(this).hasClass('square-option-select')
});
var quantity = $currentOption.siblings('.quantity').eq(0);
var allSelected = allOptions.length === selectedOptions.length;
quantity.val(allSelected ? 1 : '');
});