刚在做 树形结构多选 用的是 FlyTreeView 这个控件 的CheckBox 功能, 打开文档后 CheckBox 复选框 的解说 就给了 四段js 脚本 小弟英语有限 怎么看FlyTreeView文档 都没懂。。百度 也没百出个接过来 所以 来求助各位大神~!这是文档给的 checkbox的 js方法 但是 不晓得 在哪里调用
<script language="javascript">
var ignoreEvents = false;
//处理节点活动2
function handleNodeEvent2(){
if (ignoreEvents) return;
ignoreEvents = true;
var node = window.event.node;
if (window.event.eventName == "ONLOADCHILDRENFINISHED") {
setChildrenCheckBox(node, node.IsChecked);
}
else if (window.event.eventName == "ONCHECKED") {
setChildrenCheckBox(node, true);
if (allSiblingChecked(node)) {
setParentCheckBox(node, true);
}
}
else if (window.event.eventName == "ONUNCHECKED") {
setChildrenCheckBox(node, false);
setParentCheckBox(node, false);
}
ignoreEvents = false;
}
//选中所有的兄弟姐妹
function allSiblingChecked(node){
var nodes = node.ParentNode == null ? node.TreeView.Nodes : node.ParentNode.Nodes;
var allChecked = true;
for(var i = 0; i < nodes.length; i++) {
if (!nodes[i].IsChecked){
allChecked = false;
}
}
return allChecked;
}//设置家长的CheckBox
function setParentCheckBox(node, value){
var parentNode = node.ParentNode;
if (parentNode == null) return;
if (parentNode.IsChecked != value)
parentNode.CheckBoxChange();
if (!value || allSiblingChecked(parentNode))
setParentCheckBox(parentNode, value);}
//设置儿童复选框
function setChildrenCheckBox(parentNode, value){
for(var i = 0; i < parentNode.Nodes.length; i++) {
var node = parentNode.Nodes[i];
if (node.IsChecked != value)
node.CheckBoxChange();
setChildrenCheckBox(node, value);
}
}
</script> FlyTreeView heckBox FlyTreeView CheckBox
<script language="javascript">
var ignoreEvents = false;
//处理节点活动2
function handleNodeEvent2(){
if (ignoreEvents) return;
ignoreEvents = true;
var node = window.event.node;
if (window.event.eventName == "ONLOADCHILDRENFINISHED") {
setChildrenCheckBox(node, node.IsChecked);
}
else if (window.event.eventName == "ONCHECKED") {
setChildrenCheckBox(node, true);
if (allSiblingChecked(node)) {
setParentCheckBox(node, true);
}
}
else if (window.event.eventName == "ONUNCHECKED") {
setChildrenCheckBox(node, false);
setParentCheckBox(node, false);
}
ignoreEvents = false;
}
//选中所有的兄弟姐妹
function allSiblingChecked(node){
var nodes = node.ParentNode == null ? node.TreeView.Nodes : node.ParentNode.Nodes;
var allChecked = true;
for(var i = 0; i < nodes.length; i++) {
if (!nodes[i].IsChecked){
allChecked = false;
}
}
return allChecked;
}//设置家长的CheckBox
function setParentCheckBox(node, value){
var parentNode = node.ParentNode;
if (parentNode == null) return;
if (parentNode.IsChecked != value)
parentNode.CheckBoxChange();
if (!value || allSiblingChecked(parentNode))
setParentCheckBox(parentNode, value);}
//设置儿童复选框
function setChildrenCheckBox(parentNode, value){
for(var i = 0; i < parentNode.Nodes.length; i++) {
var node = parentNode.Nodes[i];
if (node.IsChecked != value)
node.CheckBoxChange();
setChildrenCheckBox(node, value);
}
}
</script> FlyTreeView heckBox FlyTreeView CheckBox
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货