国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Jquery實(shí)現(xiàn)checkbox全選、取消全選和反選

高璐 / 3441人閱讀

摘要:最近在看廖雪峰的教程,事件篇的練習(xí)題比較綜合,研究了很久終于研究出來了,現(xiàn)在分享出來,提供給小白學(xué)習(xí)。題目如下首先要獲取到全選和每一項(xiàng)的,然后通過邏輯代碼實(shí)現(xiàn)題目要求。

最近在看廖雪峰的Jquery教程,事件篇的練習(xí)題比較綜合,研究了很久終于研究出來了,現(xiàn)在分享出來,提供給小白學(xué)習(xí)。題目如下:

首先要獲取到全選checkbox和每一項(xiàng)的checkbox,然后通過邏輯代碼實(shí)現(xiàn)題目要求。
先提供常規(guī)思路的版本,代碼注釋已經(jīng)詳細(xì)了:

selectAllLabel.click(() => {
    selectAllLabel.hide();
    deselectAllLabel.show();
    langs.prop("checked", true);
});

deselectAllLabel.click(() => {//當(dāng)用戶去掉“全不選”時(shí),自動(dòng)不選中所有語言;
    langs.prop("checked", false);
    deselectAllLabel.hide();
    selectAllLabel.show();
});

langs.map(() => {
    $(this).change(() => {
        // 首先獲取已選中checkbox的個(gè)數(shù)
        var len = form.find("[name=lang]:checked").length;
        console.log("len=", len);
        // 當(dāng)用戶把所有語言都手動(dòng)勾上時(shí),“全選”被自動(dòng)勾上,并變?yōu)椤叭贿x”;
        if (len === langs.length) {
            selectAllLabel.hide();
            deselectAllLabel.show();
            selectAll.prop("checked", true);
        } else { // 當(dāng)用戶手動(dòng)去掉選中至少一種語言時(shí),“全不選”自動(dòng)被去掉選中,并變?yōu)椤叭x”。
            selectAll.prop("checked", false);
            selectAllLabel.show();
            deselectAllLabel.hide();
        }
    });
});

invertSelect.click(() => {
    langs.each(() => {
        $(this).prop("checked", !$(this).prop("checked"));
    });
});

上面的代碼可以實(shí)現(xiàn)題目的要求,但是代碼量有點(diǎn)大,強(qiáng)迫癥不精簡會死的。先看看效果吧:

下面是放大招時(shí)間,如果你已經(jīng)搞懂上面的方法,請向下升級:

function updateLabel() {
    // 當(dāng)已選中項(xiàng)和langs項(xiàng)數(shù)相等則allChecked為true,否則為false
    let allChecked = langs.filter(":checked").length === langs.length;
    // 根據(jù)選項(xiàng)是否全選中來設(shè)置“全選”選框的選中狀態(tài)
    selectAll.prop("checked", allChecked);
    if (allChecked) {
        selectAllLabel.hide();
        deselectAllLabel.show();
    } else {
        selectAllLabel.show();
        deselectAllLabel.hide();
    }
}
selectAll.change(e => {
    // 根據(jù)selectAll是否選中,設(shè)置每個(gè)langs的狀態(tài)
    langs.prop("checked", selectAll.is(":checked"));
    updateLabel();
});
invertSelect.click(e => {
    langs.click();
});
langs.change(() => updateLabel());

});

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/52106.html

相關(guān)文章

  • Jquery實(shí)現(xiàn)checkbox全選、取消全選反選

    摘要:最近在看廖雪峰的教程,事件篇的練習(xí)題比較綜合,研究了很久終于研究出來了,現(xiàn)在分享出來,提供給小白學(xué)習(xí)。題目如下首先要獲取到全選和每一項(xiàng)的,然后通過邏輯代碼實(shí)現(xiàn)題目要求。 最近在看廖雪峰的Jquery教程,事件篇的練習(xí)題比較綜合,研究了很久終于研究出來了,現(xiàn)在分享出來,提供給小白學(xué)習(xí)。題目如下: showImg(https://segmentfault.com/img/bV7pGr?w=...

    wenzi 評論0 收藏0
  • jQuery實(shí)現(xiàn)全選反選和不選功能

    摘要:當(dāng)勾選全選按鈕旁邊的復(fù)選框時(shí),列表中的選項(xiàng)全部選中,反之取消勾選則列表中的選項(xiàng)全部為未選中狀態(tài)。全選或全不選全選全不選反選設(shè)置全選復(fù)選框獲取選中選項(xiàng)的值選項(xiàng)總個(gè)數(shù)全選不全選HTML 我們的頁面上有一個(gè)歌曲列表,列出多行歌曲名稱,并匹配復(fù)選框供用戶選擇,并且在列表下方有一排操作按鈕。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 1.時(shí)間都去哪兒了 ...

    番茄西紅柿 評論0 收藏0
  • jQuery 全選反選demo

    摘要:前段時(shí)間做了一個(gè)全選和反選的功能,最近不忙了,做了一個(gè)簡化版的。全部代碼如下全選反選全選反選大海天路再回首突然的自我甘心情愿光輝歲月雨蝶愛拼才會贏我只在乎你日不落選中的個(gè)數(shù) 前段時(shí)間做了一個(gè)全選和反選的功能,最近不忙了,做了一個(gè)簡化版的demo。 showImg(https://segmentfault.com/img/bV3v44?w=489&h=318); 全部代碼如下: ...

    diabloneo 評論0 收藏0
  • jQuery 全選反選demo

    摘要:前段時(shí)間做了一個(gè)全選和反選的功能,最近不忙了,做了一個(gè)簡化版的。全部代碼如下全選反選全選反選大海天路再回首突然的自我甘心情愿光輝歲月雨蝶愛拼才會贏我只在乎你日不落選中的個(gè)數(shù) 前段時(shí)間做了一個(gè)全選和反選的功能,最近不忙了,做了一個(gè)簡化版的demo。 showImg(https://segmentfault.com/img/bV3v44?w=489&h=318); 全部代碼如下: ...

    red_bricks 評論0 收藏0
  • jQuery 全選反選demo

    摘要:前段時(shí)間做了一個(gè)全選和反選的功能,最近不忙了,做了一個(gè)簡化版的。全部代碼如下全選反選全選反選大海天路再回首突然的自我甘心情愿光輝歲月雨蝶愛拼才會贏我只在乎你日不落選中的個(gè)數(shù) 前段時(shí)間做了一個(gè)全選和反選的功能,最近不忙了,做了一個(gè)簡化版的demo。 showImg(https://segmentfault.com/img/bV3v44?w=489&h=318); 全部代碼如下: ...

    sevi_stuo 評論0 收藏0

發(fā)表評論

0條評論

高璐

|高級講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<