【发布时间】:2021-04-23 13:41:29
【问题描述】:
我想对我的一个谜有一点帮助。 我有一个根据输入数量变化的按钮:选中 但我想添加一个条件:选择同一类的复选框。
例如,我可以有 2 个或更多输入。
<input class="banana" type="checkbox" value="Cavendish">
<input class="banana" type="checkbox" value="Goldfinger">
<input class="chocolato" type="checkbox" value="cocoa powder">
<input class="chocolato" type="checkbox" value="milk chocolate">
<input class="apple" type="checkbox" value="honneycrisp">
<input class="apple" type="checkbox" value="granny smith">
我不能使用属性名称或值。无法修改输入。
条件:
$('input[type="checkbox"]').click(function(){
if($('input[type="checkbox"]:checked').length >=2){
////////
if (my classes are the same) {
$('#btn').html("click me").prop('disabled', false);
} else {
$('#btn').html("too bad").prop('disabled', true);
}
//////
}
我试试
var checkClass = [];
$.each($("input[type="checkbox"]:checked"), function() {
checkClass.push($(this).attr('class'));
});
我不知道我的方法是否正确,或者我是否使代码复杂化,但欢迎提供一些帮助。目前我的尝试没有成功。
【问题讨论】:
-
我不明白其中的逻辑:如果禁用的元素与被点击的元素不属于同一类,你想检查它们,然后以任何方式检查它吗?
-
我以为我比较清楚。你必须想象这个列表要长得多。我必须选择同一类的对象。如果我选择的内容相同,那么我可以单击该按钮,否则该按钮将被禁用。反之亦然,如果我选择不同类的对象,则该按钮保持禁用状态,否则可以单击它。
-
我假设
.htm(...)应该是.html(...) -
为此使用数据属性而不是类会更有意义。
-
很抱歉忘记它是“.html”。我也将在数据属性方面进行挖掘。对事物有不同的看法很酷!谢谢你!
标签: javascript jquery input