【发布时间】:2016-03-08 00:26:30
【问题描述】:
在我的页面中,我使用jstree 和select2。我想集成两个插件。有什么办法吗?我的代码看起来很简单,因为它只依赖于插件的集成领域,它看起来像:
var dataSelect = [
{
id: 1,
text: "test"
},
{
id: 2,
text: "test2"
},
{
id: 3, text: "test3"
}
];
var dataTree = [
{
id: 1, text: "test"
},
{
id: 3,
text: "test3"
}
];
$('#jstree').jstree({
'core': {
'data': dataTree,
"themes": {
"icons": false
}
},
"checkbox": {
"keep_selected_style": false,
"three_state": true
},
"plugins": ["checkbox", "state"]
});
$("#selectSample").select2({
data: dataSelect,
multiple: true
});
如您所见,两种情况下的数据都有相似的 ID。如果我在树中单击test,那么我希望我的select 设置为"test"。这个问题有解决办法吗?
编辑
@Nikolay Ermakov 的回答让我有了正确的想法,但问题是当我通过 ajax 加载我的select 时。当我单击 jstree 中的某个选项时,数据被破坏,以后我无法在 select 中选择任何内容。此外,select2 上没有选择任何选项。
EDIT2
当我点击jstree中的某个选项时,所有选项都会被删除,select会变成一个空白值,可以选择。
【问题讨论】:
-
检查
select_node.jstree事件 -
jsfiddle.net/3kgbG/1189 好的,我做了这样的事情,但为什么只返回一个选项?
-
好的,我将数据放入数组中并交给选择,一切正常:)
标签: jquery jquery-select2 jstree jquery-select2-4