easyui combotree非同期ロードノードロード値表示デジタルidテキスト表示不可
4679 ワード
ページ上でcombotreeコントロールを使用する場合、ノードが非同期でロードされるため、展開ノードを人為的にクリックして展開すると、下層サブノードがロードされます.combotreeが数値をロードする場合、ルートノードであれば通常のノードテキストをcombotreeテキストボックスに表示することができ、数値をロードするノードidがより深いサブノードであれば、ノードテキストを正常に表示することができず、元のノードidのみをcombotreeのテキストボックスに表示することができる.この場合、一致するノードがロードされていないため、だからidしか表示できません.この表示テキストが正常でないという問題を解決するために、一度にフルロードし、ローカルにパスでロードしても、BLOGが表示されるまで、combotreeのtreeオブジェクトにユーザーが望むデフォルトノードを追加し、非表示にすることでデフォルト値を設定する効果を達成する方法がたくさん試みられています.
BLOG:http://blog.csdn.net/k769444252/article/details/50311431
このブログで紹介した方法により、具体的には
コアメソッドはdefaultValueで、combotreeのtreeオブジェクトにユーザが望むデフォルトノードを追加して非表示にすることでデフォルト値を設定する効果があります.
BLOG:http://blog.csdn.net/k769444252/article/details/50311431
このブログで紹介した方法により、具体的には
// combotree , id
//cbtid:combotree id
//defval: id
//deftext:
function defaultValue(cbtid,defVal,defText){
var combotree =$('#'+cbtid);
var tree = combotree.combotree('tree');
var defNode = tree.tree('find',defVal);
if(!defNode){
tree.tree('append', {
data: [{
id: defVal,
text: defText
}]
});
defNode = tree.tree('find',defVal);
//console.log(defNode);
//console.log(combotree);
combotree.combotree('setValue',defVal);
tree.tree('select',defNode.target);
defNode.target.style.display='none';
}else{
combotree.combotree('setValue',defVal);
}
}
function createTree(id,relaCd) {
$('#rootOrgId').tree({
url: 'organizationRelation/tree',
required: true,
lines:true,
queryParams:{id:id,relaCd:relaCd},
onLoadSuccess:
function(node, data){
if (data.length > 0) {
var nodeSelect = $("#rootOrgId").tree('getSelected');
if(nodeSelect == null) {
//
var n = $('#rootOrgId').tree('find', data[0].id);
//
$('#rootOrgId').tree('select',n.target);
}
}
},
onSelect:function(node) {
$("#selectOrgIdHidden").val(node.id);
var parentNode = $('#rootOrgId').tree('getParent', node.target);
if(parentNode == null || parentNode == undefined || parentNode == "") {
$("#parentOrgIdHidden").val("");
} else {
$("#parentOrgIdHidden").val(parentNode.id);
}
createOrgTypeCombotree(node.id);
$.ajax({
url:'organization/getOrg',
type:'GET',
data:{orgId:node.id},
dataType:'json',
timeout:1000,
cache:false,
async:false,
error:errorFunction,
success:function(data) {
if(data != null) {
$('#orgIdHidden').val(data.orgId);
$('#orgNameId').textbox('setValue',data.orgName);
$('#orgCodeId').textbox('setValue',data.orgCode);
$('#orgPriorityId').textbox('setValue',data.orgPriority);
$('#areaCodeId').textbox('setValue',data.areaCodeId);
$('#cityTownId').combobox('setValue',data.cityTown);
$('#orgGroupCodeId').textbox('setValue',data.orgGroupCode);
$('#orgShortNameId').textbox('setValue',data.orgShortName);
$('#orgDetailPartyNameId').textbox('setValue',data.partyName);
$('#partyIdHidden').val(data.partyId);
$('#orgTypeId').combobox('setValue',data.orgType);
$('#orgFullNameId').textbox('setValue',data.orgFullName);
defaultValue('telcomRegionId',data.telcomRegionId,data.regionName);
defaultValue('locationId',data.locationId,data.locationName);
}
}
});
}
});
}
コアメソッドはdefaultValueで、combotreeのtreeオブジェクトにユーザが望むデフォルトノードを追加して非表示にすることでデフォルト値を設定する効果があります.