-----------Treeview中checkbox选择问题
protected void Page_Load(object sender, EventArgs e)
{
// Load sample data only once, when the page is first loaded.
if (!IsPostBack)
{
SampleTreeView.Attributes.Add("onClick","OnCheckEvent()");
}
}
相关js:
<script language="javascript">
//checkbox点击事件
function OnCheckEvent()
{
var objNode = event.srcElement;
if(objNode.tagName != "INPUT" || objNode.type != "checkbox")
return;
//获得当前树结点
var ck_ID = objNode.getAttribute("ID");
var node_ID = ck_ID.substring(0,ck_ID.indexOf("CheckBox")) + "Nodes";
var curTreeNode = document.getElementById(node_ID);
//级联选择
SetChildCheckBox(curTreeNode,objNode.checked);
SetParentCheckBox(objNode);
}
//子结点字符串
var childIds = "";
//获取子结点ID数组
function GetChildIdArray(parentNode)
{
if (parentNode == null)
return;
var childNodes = parentNode.children;
var count = childNodes.length;
for(var i = 0;i < count;i ++)
{
var tmpNode = childNodes[i];
if(tmpNode.tagName == "INPUT" && tmpNode.type == "checkbox")
{
childIds = tmpNode.id + ":" + childIds;
}
GetChildIdArray(tmpNode);
}
}
//设置子结点的checkbox
function SetChildCheckBox(parentNode,checked)
{
if(parentNode == null)
return;
var childNodes = parentNode.children;
var count = childNodes.length;
for(var i = 0;i < count;i ++)