博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

js 通过节点之间的关系 控制treeview节点展开

Posted on 2013-08-08 16:22  街口  阅读(299)  评论(0)    收藏  举报

   

     

        //展开某个节点

     

        function Expend(unitvalue, parentid, dosort, num) {

     

            var sign = "";

     

            var dotid = "";

     

            if (unitvalue.indexOf("_") > -1) {

     

                var arr = unitvalue.split('_');

     

                sign = arr[0];

     

                dotid = arr[1];

     

            }

     

            for (var i = num - 1; i > 0; i--) {

     

 

     

                var Punitvalue = $("#UnitTreet" + i + "").find("input:hidden[name='hidunitvalue']").val();

     

                var Pdosort = $("#UnitTreet" + i + "").find("input:hidden[name='hiddosort']").val();

     

                var Pparentid = $("#UnitTreet" + i + "").find("input:hidden[name='hidparentid']").val();

     

 

     

                var psign = "";

     

                var pdotid = "";

     

                if (Punitvalue.indexOf("_") > -1) {

     

                    var parr = Punitvalue.split('_');

     

                    psign = parr[0];

     

                    pdotid = parr[1];

     

                }

     

                var id = "UnitTreet" + i

     

 

     

                if (psign == sign && pdotid == parentid) {

     

                   var isExpand = checkIsExpand(id);

     

                 

     

                 if (!isExpand) {

     

                    id = id.replace("Treet", "Treen");

     

                    $("#" + id).get(0).click();

     

                    Expend(Punitvalue, Pparentid, Pdosort, i);

     

 

     

                  }

     

 

     

                }

     

 

     

            }

     

        }

   -----------------------------------------------------------
   
     

//判断某个节点是否为展开状态

     

        function checkIsExpand(id) {

     

 

     

            var reg = /UnitTreet(\d+)/;

     

 

     

            var result = reg.exec(id);

     

            var index = result[1];

     

       

     

            var expandState = UnitTree_Data.expandState.value.charAt(index)

     

 

     

            if (expandState == "e")

     

 

     

                return true;

     

 

     

            else

     

 

     

                return false;

     

 

     

        }

   
      
     

 ---------------------------------------------------

        function Search() {

     

            var search = $("#txtSearch").val();

     

            var cnt = 0;

     

            if (search != "") {

     

                $('input[name="unit"]').each(function (i) {

     

                    var txt = $(this).parent().text();

     

                    $(this).parent().css("color", "green"); //页面加载初始颜色跟设置颜色保持一致

     

                    if ($.trim(txt).indexOf($.trim(search)) > -1) {

     

                        var unitvalue = $(this).parent().find("input:hidden[name='hidunitvalue']").val();

     

                        var dosort = $(this).parent().find("input:hidden[name='hiddosort']").val();

     

                        var parentid = $(this).parent().find("input:hidden[name='hidparentid']").val();

     

 

     

                        cnt++;

     

                        $(this).parent().css("color", "red");

     

                        Expend(unitvalue,parentid,dosort,i);

     

 

     

 

     

                    }

     

                });

     

 

     

             

     

 

     

            

     

                if (cnt == 0) {

     

                    alert("没有匹配项");

     

 

     

                }

     

 

     

            }

     

            else {

     

                alert("请填写搜索内容!");

     

 

     

            }

     

 

     

 

     

        }