checkbox选中后无法取消的问题

    xiaoxiao2021-04-17  46

    input标签页:

    <input type="checkbox" name=""> <input type="button" name="clickme" id="clickme" onclick="toggle()" value="全选/取消">

    问题代码:

    function toggle(){ var state = document.getElementsByTagName("input")[0].getAttribute("checked"); console.log(state); if(state == "checked"){ console.log("false"); document.getElementsByTagName("input")[0].setAttribute("checked",""); }else{ document.getElementsByTagName("input")[0].setAttribute("checked","checked"); } }

    没问题的代码:

    function toggle(){ var state = document.getElementsByTagName("input")[0].checked; console.log(state); if(state == true){ console.log("false"); document.getElementsByTagName("input")[0].checked = null; }else{ document.getElementsByTagName("input")[0].checked = true; } }

    这里问题的关键在于attribute和property的区别!!! 如果你使用的是jQuery,正确的写法应该是使用prop方法: 栗子:

    $("#CheckedAll").click(function () { if ($(this).is(":checked")) { $("[name=items]:checkbox").prop("checked", true); } else { $("[name=items]:checkbox").prop("checked", false); } });
    转载请注明原文地址: https://ju.6miu.com/read-674007.html

    最新回复(0)