Javascript 无法使用jQuery将类作为目标

Javascript 无法使用jQuery将类作为目标,javascript,jquery,Javascript,Jquery,嗨,我正在尝试使用jQuery访问名为“onlyTwo”的类。我希望访问该类的原因是,用户只能从三个复选框中选择两个。我的函数仅在删除输入标记之外的“p”和“label”标记时起作用,因此我确信问题出在这一行: $('input.onlyTwo') 谢谢! //仅允许用户选择2个复选框 var限值=2; $('input.onlyTwo')。on('change',function(evt){ if($(this).sides(':checked')。长度>=限制){ 此项检查=错误; 警报

嗨,我正在尝试使用jQuery访问名为“onlyTwo”的类。我希望访问该类的原因是,用户只能从三个复选框中选择两个。我的函数仅在删除输入标记之外的“p”和“label”标记时起作用,因此我确信问题出在这一行:

$('input.onlyTwo')
谢谢!

//仅允许用户选择2个复选框
var限值=2;
$('input.onlyTwo')。on('change',function(evt){
if($(this).sides(':checked')。长度>=限制){
此项检查=错误;
警报('您只能选择'+limit+'项!');
}
});

订单
套房套餐
请选择每件商品的交货时间。
12次订单 首件首件套餐每套15.50美元 包括:花生和椒盐卷饼。您可以选择野马犬配芥末、番茄酱、白洋葱、调味品和面包,或者纳乔站配烤鸡、墨西哥胡椒、橄榄、洋葱、鳄梨酱、酸奶油和纳乔奶酪。您可以从意大利面沙拉、凯撒沙拉或时令水果沙拉中选择两种沙拉。饼干和布朗尼拼盘

沙拉(选择两种)

面食

塞萨尔

时令水果沙拉


复选框不是
.sides()
,因此您的代码不起作用

使用
.closest(selector)
遍历到一个公共祖先,然后选中所需的元素

此外,还将条件更改为
>

//仅允许用户选择2个复选框
var限值=2;
$('input.onlyTwo')。on('change',function(evt){
if($(this).closest('.entresgroup').find(':checked').length>limit){
此项检查=错误;
警报('您只能选择'+limit+'项!');
}
});

沙拉(选择两种)

面食

塞萨尔

时令水果沙拉

.sibbines()
仅在同一父项下工作,在您的情况下,复选框包装在

您可以针对最近的父元素,即entresgroup div,并查找在父元素下选中的复选框

检查条件时,也要删除
=

//仅允许用户选择2个复选框
var限值=2;
$('input.onlyTwo')。on('change',function(evt){
if($(this).closest(“.entresgroup”).find(':checked').length>limit){
此项检查=错误;
警报('您只能选择'+limit+'项!');
}
});

订单
套房套餐
请选择每件商品的交货时间。
12次订单 首件首件套餐每套15.50美元 包括:花生和椒盐卷饼。您可以选择野马犬配芥末、番茄酱、白洋葱、调味品和面包,或者纳乔站配烤鸡、墨西哥胡椒、橄榄、洋葱、鳄梨酱、酸奶油和纳乔奶酪。您可以从意大利面沙拉、凯撒沙拉或时令水果沙拉中选择两种沙拉。饼干和布朗尼拼盘

沙拉(选择两种)

面食

塞萨尔

时令水果沙拉


试试这个:您可以获得所有选中复选框的长度,然后在if条件下进行比较。请参阅下面的代码

//仅允许用户选择2个复选框
var限值=2;
$('input.onlyTwo')。on('change',function(evt){
var len=$('input.onlyTwo:checked')。长度;
如果(长度>限制){
$(this.prop('checked',false);
警报('您只能选择'+limit+'项!');
}
});

订单
套房套餐
请选择每件商品的交货时间。
12次订单 首件首件套餐每套15.50美元 包括:花生和椒盐卷饼。您可以选择野马犬配芥末、番茄酱、白洋葱、调味品和面包,或者纳乔站配烤鸡、墨西哥胡椒、橄榄、洋葱、鳄梨酱、酸奶油和纳乔奶酪。您可以从意大利面沙拉、凯撒沙拉或时令水果沙拉中选择两种沙拉。饼干和布朗尼拼盘

沙拉(选择两种)

面食

塞萨尔

时令水果沙拉


最近的p
同级
查找
chec一起使用