Discuss / JavaScript / 作业练习

作业练习

Topic source

起伏

#1 Created at ... [Delete] [Delete and Lock User]
    // 当用户勾上“全选”时,自动选中所有语言,并把“全选”变成“全不选”;
    // 当用户去掉“全不选”时,自动不选中所有语言;
    selectAll.off().change((e) => {
        status = e.target.checked;
        if (!status) {
            deselectAllLabel.show();
            selectAllLabel.hide();
        } else {
            deselectAllLabel.hide();
            selectAllLabel.show();
        }
        langs.prop('checked', status);
    })
    // 当用户点击“反选”时,自动把所有语言状态反转(选中的变为未选,未选的变为选中);
    invertSelect.off().click(()=>{
        selectAll.prop('checked',!selectAll.prop('checked'));
        selectAll.change();
    })
    // 当用户把所有语言都手动勾上时,“全选”被自动勾上,并变为“全不选”;
    // 当用户手动去掉选中至少一种语言时,“全不选”自动被去掉选中,并变为“全选”。
    langs.off().change(()=>{
        var result=langs.filter(function(){return this.checked})
        console.log(result)
        if(result.length===langs.length){
            selectAll.prop('checked',true);
            selectAll.change();
        }else if(result.length===0){
            selectAll.prop('checked',false);
            selectAll.change();
        }else{
            selectAll.prop('checked',false);
        }
    })

  • 1

Reply