全選,全不選,反選,全選/全不選

幾種常見選擇寫法,

    <form>
        你好愛好:<input type="checkbox" id="checkedAll">全選/全不選<br>
        <label ><input type="checkbox" name="check" value="唱歌">唱歌</label>
        <label ><input type="checkbox" name="check" value="跳舞">唱歌</label>
        <label ><input type="checkbox" name="check" value="吃飯">唱歌</label>
        <label ><input type="checkbox" name="check" value="燙頭">唱歌</label>
        <br>
        <input type="button" name="all" id="checkboxAll" value="全 選">
        <input type="button" name="no" id="checkedNo" value="全不選">
        <input type="button" name="reverse" id="checkedRev" value="反 選">
        <input type="button" id="submit" value="提 交">
    </form>
//js
    var form = document.getElementsByTagName("form")[0];
    var inp = form.check;
    var cAll = document.getElementById("checkedAll");
    var all = document.getElementById("checkboxAll");
    var no = document.getElementById("checkedNo");
    var reverse = document.getElementById("checkedRev");

    var i = 0;
    //全選/反選
    cAll.onclick = function() {
        console.log(inp.length)
        if (this.checked) {

            for (i = 0; i < inp.length; i++) {

                inp[i].checked = true;
            }
        }else {

            for (i = 0; i < inp.length; i++) {

                inp[i].checked = false;
            }
        }
    };

    //全選
    all.onclick = function() {

        for (i = 0; i < inp.length; i++) {

            inp[i].checked = true;
        }
    }
    //全不選
    no.onclick = function() {

        for(i = 0; i < inp.length; i++) {

            inp[i].checked = false;
        }
    }

    //反選
    reverse.onclick = function() {

        for (i = 0; i < inp.length; i++) {

            // inp[i].checked = !inp[i].checked;//方式一
            if (inp[i].checked) {

                inp[i].checked = false;
            }else {

                inp[i].checked = true;
            }
        }
    };
    //提交

    submit.onclick = function() {

        var str = "你的愛好:"
        for (i = 0; i < inp.length; i++) {

            if (inp[i].checked) {

                str += inp[i].value + "||";
            }
        }

        console.log(str);
    }

需要注意的是 全選/全部選,是要先判斷按鈕是否被選中,在選擇選項(xiàng);

    
    $(function() {  //prop和attr方法都是設(shè)置或者修改被選元素的屬性,
        // prop方法用于HTML元素本身就帶有的固有屬性,
        // attr方法用于HTML元素自己定義的dom屬性,

        $("#checkedAll").click(function() {

            if (this.checked) {

                $("[name=check]:checkbox").prop("checked", true);
            }else {

                $("[name=check]:checkbox").prop("checked", false);
            }
        });

        $("#checkboxAll").click(function() {

            $("[name=check]:checkbox").prop("checked", true);
        });

        $("#checkedNo").click(function() {

            $("[name=check]:checkbox").prop("checked", false);
        });

        $("#checkedRev").click(function() {

            $("[name=check]:checkbox").each(function() {
                console.log(this.checked);
                this.checked = !this.checked//this指當(dāng)前的html對象
            });
        });

        $("#submit").click(function() {

            var str = "你喜歡的是:"
            $("[name=check]:checkbox:checked").each(function() {

                str += $(this).val() + "||";//這里$(this)指的是jquery對象
            })

            console.log(str);
        });
    })

attr和prop方法都是設(shè)置或修改被選元素的屬性:
attr用于HTML元素自己定義的dom屬性,
prop用于HTML元素固有的屬性,
$(this)和this的區(qū)別,$(this)返回的是jquery對象,this返回的當(dāng)前html元素對象

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一章 jQuery簡介 1-1 jQuery簡介 1.簡介 2.優(yōu)勢 3.特性與工具方法 1-2 環(huán)境搭建 進(jìn)入...
    mo默22閱讀 1,776評論 0 11
  • 一、樣式篇 第1章 初識jQuery (1)環(huán)境搭建 進(jìn)入官方網(wǎng)站獲取最新的版本 http://jquery.co...
    凜0_0閱讀 3,675評論 0 44
  • 通過jQuery,您可以選取(查詢,query)HTML元素,并對它們執(zhí)行“操作”(actions)。 jQuer...
    枇杷樹8824閱讀 724評論 0 3
  • jQuery基礎(chǔ)(一)——樣式篇 1-2環(huán)境搭建 1-3 jQuery HelloWorld體驗(yàn) $(docume...
    croyance0601閱讀 1,171評論 0 8
  • 要想使用Vim,首先要知道Vim是什么.Vim編輯器是所有Unix及Linux系統(tǒng)下標(biāo)準(zhǔn)的編輯器,在你使用linu...
    李博洋li閱讀 818評論 0 1

友情鏈接更多精彩內(nèi)容