我正在使用knockout Js。有两个复选框。如果任何复选框没有选中,那么提交按钮将被禁用。有可能的情况下,将有1个复选框,而不是2个复选框。所以我有这样的条件
if ((self.checkBox1() === true && self.checkBox2() === true) || ($("#checkbox2").length <= 0 && self.checkBox1() === true) || ($("#checkbox1").length <= 0 && self.checkBox2() === true)) {
$('.submit-btn').attr('disabled', false);
} else {
$('.submit-btn').attr('disabled', true);
}
return true;
}
这是我创建的一个Jsfiddle示例。
有没有更好的方法?
2条答案
按热度按时间4si2a6ki1#
像这样的事情会是一个好的开始。
第一个
e0bqpujr2#
在本例中,我们检查页面上的所有复选框是否都被选中,这是一个返回true/false的过程,并使用该值直接更改按钮的禁用状态。
如果在同一页上也存在NON-required复选框的可能性,则对
querySelectorAll('[type="checkbox"]')
部分进行较小的修改就可以处理它:给予所需的CB提供class="required"
(querySelectorAll('.required[type="checkbox"]'
),或者将其父容器(querySelectorAll('#parent [type="checkbox"]'
)作为目标