【发布时间】:2017-08-08 10:16:48
【问题描述】:
我有来自 Ext.js 的基本树形面板复选框示例,如下所示:
Ext.onReady(function(){
var tree = new Ext.tree.TreePanel({
renderTo:'tree-div',
title: 'My Task List',
height: 300,
width: 400,
useArrows:true,
autoScroll:true,
animate:true,
enableDD:true,
containerScroll: true,
rootVisible: false,
frame: true,
root: {
nodeType: 'async'
},
// auto create TreeLoader
dataUrl: 'check-nodes.json',
listeners: {
'checkchange': function(node, checked){
if(checked){
node.getUI().addClass('complete');
}else{
node.getUI().removeClass('complete');
}
}
},
buttons: [{
text: 'Get Completed Tasks',
handler: function(){
var msg = '', selNodes = tree.getChecked();
Ext.each(selNodes, function(node){
if(msg.length > 0){
msg += ', ';
}
msg += node.text;
});
Ext.Msg.show({
title: 'Completed Tasks',
msg: msg.length > 0 ? msg : 'None',
icon: Ext.Msg.INFO,
minWidth: 200,
buttons: Ext.Msg.OK
});
}
}]
});
tree.getRootNode().expand(true);
});
这是用于 check-nodes.json 的:
[{
text: 'To Do',
cls: 'folder',
children: [{
text: 'Go jogging',
id: 'test',
leaf: true,
checked: false
},{
text: 'Take a nap',
leaf: true,
checked: false
},{
text: 'Climb Everest',
leaf: true,
checked: false
}]
}]
所以 Ext.js 将尝试将这些 json 数据转换为 html 输入复选框,如下所示:
有什么办法可以改变输入框的ID吗?
我试图在 json 文件“id:test”中设置密钥 ID,但它返回的 html 脚本如下所示:
影响它“ext:tree-node-id = test”的东西,我只需要设置这样的东西
“<input class="x-tree-node-cb" type="checkbox" id="test">”
有没有办法做到这一点?谢谢
【问题讨论】:
标签: javascript jquery json node.js extjs