您的位置:首页 > 产品设计 > UI/UE

easyui tree getChecked 和 getSelected,jq[0]的解释

2016-06-16 10:31 531 查看




要想获取上图中这些已选的元素,只能用getChecked,

getSelected只能单选,不能多选,以下是easyui

getChecked源码,多选树时使用

getChecked:function(jq){
return _4f2(jq[0]);

/*

使用实例:

var t = $('#cc').combotree('tree');
var n = t.tree('getChecked');

通过$('#cc'),可以很准确的获取想要的元素,t是一个数组

t = [ul.tree.tree-lines]

,但只有一个元素,所以jq[0]就是ul.tree.tree-lines

数组必须通过名字加数字获取

*/

function _4f2(_4f3){
var _4f4=$.data(_4f3,"datagrid");
var opts=_4f4.options;
if(opts.idField){
return _4f4.checkedRows;//如果有idfield,就可以直接调用data里的datagrid的checkedRows
}else{
var rows=[];
_4f4.dc.view.find("div.datagrid-cell-check input:checked").each(function(){//循环遍历那些被checked的item
var _4f5=$(this).closest("tr.datagrid-row").attr("datagrid-row-index");
rows.push(opts.finder.getRow(_4f3,_4f5));
});
return rows;//返回的是所有选中的行
}
};

getSelected源码,多选时不能使用,单选树使用(当tree的属性checkbox不为true,或者combotree 不为multiple时)

getSelected:function(jq){
var rows=_4ee(jq[0]);
return rows.length>0?rows[0]:null;

}

function _4ee(_4ef){
var _4f0=$.data(_4ef,"datagrid");
var opts=_4f0.options;
var data=_4f0.data;
if(opts.idField){
return _4f0.selectedRows;
}else{
var rows=[];
opts.finder.getTr(_4ef,"","selected",2).each(function(){

//循环遍历被selected的,当tree的属性checkbox为true,或者combotree 为multiple时,

//class就不会是class="tree-node tree-node-selected",没有selected单词,所以这是用selected是取不到任何值的,会为null,所以多选不能用selected

//selectedRows也不会取到selected,这时是checked
var _4f1=parseInt($(this).attr("datagrid-row-index"));
rows.push(data.rows[_4f1]);
});
return rows;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: