treeview的Checkbox使用

快意一剑 2010-09-28 11:24:40
在treeview控件中,在选择根节点并设置checked = true,使得这个根节点下所有子节点都设置checked = true?
...全文
53 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangxiaofelix 2010-09-28
  • 打赏
  • 举报
回复
有了,正解
youliny 2010-09-28
  • 打赏
  • 举报
回复
恩。
楼上正确。
fellowcheng 2010-09-28
  • 打赏
  • 举报
回复
后台
tvModels.Attributes.Add("onclick", "OnTreeNodeChecked(event)");
fellowcheng 2010-09-28
  • 打赏
  • 举报
回复
 <script type="text/javascript">

function OnTreeNodeChecked(evt) {
var objNode = evt.srcElement ? evt.srcElement : evt.target;

if (objNode.checked == true) {
setParentChecked(objNode);
var objID = objNode.getAttribute("ID");
var objID = objID.substring(0, objID.indexOf("CheckBox"));
var objParentDiv = document.getElementById(objID + "Nodes");
if (objParentDiv != null && objParentDiv != "undefined") {
setChildChecked(objParentDiv);
}
}
else {
var objID = objNode.getAttribute("ID");
var objID = objID.substring(0, objID.indexOf("CheckBox"));
var objParentDiv = document.getElementById(objID + "Nodes");
if (objParentDiv != null && objParentDiv != "undefined") {
setChildUnChecked(objParentDiv);
}
}

if (objNode.tagName && objNode.tagName != "INPUT") {
if (objNode.tagName == "IMG") {
return true;
}
else {
if (window.event) {
window.event.returnValue = false;
return false;
}
else {
evt.preventDefault();
evt.stopPropagation();
}
}
}
}

function public_GetParentByTagName(element, tagName) {
var parent = element.parentNode;
var upperTagName = tagName.toUpperCase();

while (parent && (parent.tagName.toUpperCase() != upperTagName)) {
parent = parent.parentNode ? parent.parentNode : parent.parentElement;
}
return parent;
}

function setParentChecked(objNode) {
var objParentDiv = public_GetParentByTagName(objNode, "div");
if (objParentDiv == null || objParentDiv == "undefined") {
return;
}
var objID = objParentDiv.getAttribute("ID");
objID = objID.substring(0, objID.indexOf("Nodes"));
objID = objID + "CheckBox";
var objParentCheckBox = document.getElementById(objID);
if (objParentCheckBox == null || objParentCheckBox == "undefined") {
return;
}
if (objParentCheckBox.tagName != "INPUT" && objParentCheckBox.type == "checkbox")
return;
objParentCheckBox.checked = true;
setParentChecked(objParentCheckBox);
}

function setChildUnChecked(divID) {
var objchild = divID.children;
var count = objchild.length;
for (var i = 0; i < objchild.length; i++) {
var tempObj = objchild[i];
if (tempObj.tagName == "INPUT" && tempObj.type == "checkbox") {
tempObj.checked = false;
}
setChildUnChecked(tempObj);
}
}

function setChildChecked(divID) {
var objchild = divID.children;
var count = objchild.length;
for (var i = 0; i < objchild.length; i++) {
var tempObj = objchild[i];
if (tempObj.tagName == "INPUT" && tempObj.type == "checkbox") {
tempObj.checked = true;
}
setChildChecked(tempObj);
}
}

function selectItem(ccode, ck, hdid) {
var codes = $("#" + hdid).val();
if (ck.checked) {
if (codes.length == 0)
$("#" + hdid).val(ccode);
else if (codes.indexOf(ccode) < 0) {
$("#" + hdid).val(codes + "," + ccode);
}
}
else {
if (codes == ccode)
codes = "";
else if (codes.indexOf("," + ccode + ",") > 0) {
codes = codes.replace("," + ccode + ",", ",");
}
else if (codes.indexOf(ccode + ",") == 0) {
codes = codes.replace(ccode + ",", "");
}
else if (codes.indexOf("," + ccode) == codes.length - ccode.toString().length - 1) {
codes = codes.replace("," + ccode, "");
}
$("#" + hdid).val(codes);
}
}

</script>

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧