【发布时间】:2018-02-23 11:31:02
【问题描述】:
我正在寻找有关如何在输入复选框中设置选择规则的解决方案,该规则将允许选择 3 个元素,但只能以正确的顺序。
假设我们有几个复选框,例如 ch1、ch2、ch3、ch4、ch5、ch6。 用户只能标记三个,但只能一一标记。
ch1 + ch2 + ch3 - 没关系
ch3 + ch4 + ch5 - 没问题
ch2 + ch4 + ch5 - 不行
ch1 + ch2 + ch4 - 不行
我知道如何限制:
$('#Miesiac :checkbox').change(function () {
var $checks=$(this).closest('#Miesiac').find(':checkbox:checked');
if ($checks.length > 3) {
this.checked=false;
}
});
但是如何一一给出规则。你知道怎么做吗?
【问题讨论】:
-
您的意思是用户最多只能连续检查 3 个 chx?前任。 1,2,3 还是 2,3,4?
-
是的,没错
-
一些想法:如果您只有几个复选框,请禁用除入口点(可以首先选择的那些)之外的所有复选框,然后使用一堆
if elses 启用下一个可以是的复选框选择。如果你想做得好,设计一个有限状态机 -
一个好主意。例如如果用户选择框#3,则仅保留#2和#4,其余的被关闭。那么如果用户选择#4,那么#5就会被包括在内,因为他仍然可以选择#2或#5……阿里谢谢你的帮助。
标签: javascript