簡體   English   中英

沒有選中屬性的復選框

[英]Checkbox without checked attribute

我一直在動態地為表格中的每一行添加復選框 - datatables.net。 但是,當我選中這些框時,html不會顯示任何已檢查的屬性,這樣我就不會只關注帶有復選框的行。 如果我使用checked屬性設置復選框,則yes,checked元素可見。 這里的代碼顯示了我如何檢查checked屬性...

        var filtered_rows = example_data_table._('tr', {"filter":"applied"});

        $.each(filtered_rows, function(i, el){
            // If not checked, do not include
            if(!$(el[0]).is(':checked')){
                console.log(el[0]);
                return true;
            }else{
                window.alert("HIT");
            }
         ...

以下是我如何將元素附加到datatables.net表...

        var checkbox = $("<input type='checkbox' 
                           id='checkbox_" + o.example_id + "' />");

        ...

        tmp = [checkbox[0].outerHTML,
        ...];
        table_data.push(tmp);

        ...

        example_data_table.fnClearTable(false);
        example_data_table.fnAddData(table_data);

在控制台中,我得到的是這個消息n次:

<input type="checkbox" id="checkbox_3895">                  examples.php:189


我想,我想知道為什么即使我選中了復選框,也不會包含checked屬性?

HTML標記屬性<input checked=""實際上並不是為了在運行時刻顯示元素的狀態,而是為了在第一次呈現頁面時定義它的默認狀態

MDN <input> docs說明:

檢查:

當type屬性的值為radio或checkbox時,此Boolean屬性的存在表示默認選擇控件; 否則會被忽略。

您可以定位的唯一不同的已檢查狀態是已checked的Js DOM屬性:

document.getElementById('myInput').checked; //(true / false)

或者Css偽:checked

#myInput:checked {
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM