Discuss / JavaScript / 练习

练习

Topic source

#1 Created at ... [Delete] [Delete and Lock User]
// TODO:绑定事件
// 全选 全不选
selectAll.change(function () {
    if (deselectAllLabel.is(':hidden')) {
        langs.prop('checked', true);
        selectAllLabel.hide();
        deselectAllLabel.show();
    } else {
        langs.prop('checked', false);
        selectAllLabel.show();
        deselectAllLabel.hide();
    }
});
// 反选
invertSelect.click(function () {
    for (let i = 0; i < langs.length; i++) {
        let lang = $(langs.get(i));
        if (lang.prop('checked')) {
            lang.prop('checked', false);
        } else {
            lang.prop('checked', true);
        }
        if (i === langs.length - 1) {
            lang.change(); // 使用代码触发事件
        }
    }
});
// 单选
for (let i = 0; i < langs.length; i++) {
    let lang = $(langs.get(i));
    lang.change(function () {
        let n = 0;
        for (let i = 0; i < langs.length; i++) {
            if ($(langs.get(i)).prop('checked')) {
                n++
            }
        }
        if (n === langs.length) {
            selectAll.prop('checked', true);
            selectAllLabel.hide();
            deselectAllLabel.show();
        } else {
            selectAll.prop('checked', false);
            selectAllLabel.show();
            deselectAllLabel.hide();
        }
    });
}

  • 1

Reply