首页 文章

仅按顺序输入复选框

提问于
浏览
0

我正在寻找一个解决方案,如何在输入复选框中设置选择规则,这将允许选择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;
    }
});

但是如何逐一给出规则 . 你知道怎么做吗?

1 回答

  • 0

    给复选框一个连续的Id或属性就像你正在做的那样...... ch1,ch2,ch3等......

    在更改事件中,您可以使用当前正在选中/取消选中的复选框 . 从复选框中解析ID或属性 .

    var theId = $(this).attr('id');
    

    使用简单的字符串检查从该id字符串中解析复选框的编号 . 然后,您可以选中上面一个增量和当前复选框下面一个增量复选框的选中状态 . 为了清楚起见,我正在使这段代码比需要的更冗长 .

    theId.replace('ch','');
    theId++; //For one above
    $('ch'+theId).checked;
    

    要么

    $('ch'+theId).attr('checked');
    

    你现在去了,你应该检查一个上面的状态,如果它无效,你可以设置一个错误状态变量 . 对下面的一个做同样的事情,你可以做任何验证休息,消息,页面事件拦截或任何你需要的东西 . 有20种不同的方法可以做到这一点,这是一个想法 .

相关问题