Qui*_*nto 5 html javascript jquery
我一直在向表中的每一行动态添加复选框 - datatables.net。但是,当我选中这些框时,html 没有显示任何已选中的属性,这不允许我只关注带有选中复选框的行。如果我使用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");
}
...
Run Code Online (Sandbox Code Playgroud)
以下是我如何将元素附加到 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);
Run Code Online (Sandbox Code Playgroud)
在控制台中,我得到的只是这条消息 n 次:
<input type="checkbox" id="checkbox_3895"> examples.php:189
Run Code Online (Sandbox Code Playgroud)
我想,我想知道为什么即使我选中了复选框,checked 属性也从未包含在内?
HTML 标记属性<input checked=""实际上并不是为了在运行时显示元素的状态,而是在页面第一次呈现时定义它的默认状态。
MDN <输入> 文档说明:
选中:
当type属性值为radio或checkbox时,此布尔属性的存在表示控件默认选中;否则将被忽略。
您可以定位的唯一不同的检查状态是 Js DOM 属性checked:
document.getElementById('myInput').checked; //(true / false)
Run Code Online (Sandbox Code Playgroud)
或 CSS 伪:checked:
#myInput:checked {
}
Run Code Online (Sandbox Code Playgroud)