1.這是js代碼
<script type="text/javascript">
function Davidovitz_HandleCheckbox() {
var element = event.srcElement;
if (element.tagName == "INPUT" && element.type == "checkbox") {
var checkedState = element.checked;
while (element.tagName != "TABLE") // Get wrapping table
{
element = element.parentElement;
}
Davidovitz_UnCheckParents(element); // Uncheck all parents
element = element.nextSibling;
if (element == null) // If no childrens than exit
return;
var childTables = element.getElementsByTagName("TABLE");
for (var tableIndex = 0; tableIndex < childTables.length; tableIndex++) {
Davidovitz_CheckTable(childTables[tableIndex], checkedState);
}
}
}
// Uncheck the parents of the given table, Can remove the recurse (redundant)
function Davidovitz_UnCheckParents(table) {
if (table == null || table.rows[0].cells.length == 2) // This is the root
{
return;
}
var parentTable = table.parentElement.previousSibling;
Davidovitz_CheckTable(parentTable, false);
Davidovitz_UnCheckParents(parentTable);
}
// Handle the set of checkbox checked state
function Davidovitz_CheckTable(table, checked) {
var checkboxIndex = table.rows[0].cells.length - 1;
var cell = table.rows[0].cells[checkboxIndex];
var checkboxes = cell.getElementsByTagName("INPUT");
if (checkboxes.length == 1) {
checkboxes[0].checked = checked;
}
}
</script>
2.在page_load事件里加這么一句話進(jìn)行注冊(cè)事件
TreeView1.Attributes.Add("onclick", "Davidovitz_HandleCheckbox()");
就可以完全實(shí)現(xiàn)父節(jié)點(diǎn)選中而是實(shí)現(xiàn)子節(jié)點(diǎn)所有被選中