onLoadSuccess:function(node, data){
$('.tree-checkbox').unbind('click');
},
onSelect : function(node){
var cknodes = $(this).tree("getChecked");
for(var i = 0 ; i < cknodes.length ; i++){
$(this).tree("uncheck", cknodes[i].target);
}
//再选中改节点
$(this).tree("check", node.target);
}
先去掉复选框的click事件,再去用onSelect控制

解决方案 »

  1.   


    onBeforeCheck:function(node, checked){
           var _this = $(this);
           _this.tree('getChecked').each(function(i,k){
                   _this.tree('uncheck',k.target);
           })
    }
    //以上纯属现从API参考而写的答案.看了下api,还有个onCheck方法,如果不行,换成它吧,但要增加一行代码,就是楼上的再选中节点的代码
    //api地址:http://www.jeasyui.com/documentation/tree.php
      

  2.   

    你的这个方法是行不通的,附图如下
    这个问题不好解决的地方,就是tree的uncheck方法,会调用OnCheck和OnBeforeCheck方法,这样就会一直反反复复地调用,伤脑筋
      

  3.   

    你的这个方法是行不通的,附图如下
    这个问题不好解决的地方,就是tree的uncheck方法,会调用OnCheck和OnBeforeCheck方法,这样就会一直反反复复地调用,伤脑筋each是jquery的迭代器,没有jquery
    的支持,就找不到each方法,\
    难道你没引入jquery?
      

  4.   

    你的这个方法是行不通的,附图如下
    这个问题不好解决的地方,就是tree的uncheck方法,会调用OnCheck和OnBeforeCheck方法,这样就会一直反反复复地调用,伤脑筋each是jquery的迭代器,没有jquery
    的支持,就找不到each方法,\
    难道你没引入jquery?这样可以证实我加载jquery了吧
      

  5.   

    你的这个方法是行不通的,附图如下
    这个问题不好解决的地方,就是tree的uncheck方法,会调用OnCheck和OnBeforeCheck方法,这样就会一直反反复复地调用,伤脑筋each是jquery的迭代器,没有jquery
    的支持,就找不到each方法,\
    难道你没引入jquery?这样可以证实我加载jquery了吧
    $($(this).tree("getChecked")).each(function(){....})
    这样呢?