我一直在动态地将复选框添加到表中的每一行 - datatables.net 。但是,当我选中这些框时,html 不会显示任何已选中的属性,这不允许我只关注已选中复选框的行。如果我设置带有选中属性的复选框,那么是的,选中属性是可见的。这里的代码显示了我如何尝试检查选中的属性......
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
我想,我想知道为什么即使我选中了复选框,也永远不会包含选中的属性?
HTML 标记属性<input checked=""
实际上并不是为了显示运行时元素的状态,而是为了定义页面第一次渲染时的默认状态.
MDN 文档 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input states:
checked:
当type属性的值为radio或checkbox时,该布尔属性的存在表示默认选中该控件;否则它会被忽略。
您可以定位的检查状态的唯一变化是 Js DOM 属性checked
:
document.getElementById('myInput').checked; //(true / false)
或CSS伪:checked
:
#myInput:checked {
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)