我今天有一个包含 200 多个项目的“平面”下拉选择器。问题是列表实际上是一个数据层次结构,所以我想看看是否有任何选择器可以显示数据层次结构,以便人们可以看到每个项目适合整个列表的位置。
现在我正在连接级别,因此它会显示如下内容:
level 1 --> level 2
level 1 --> level 2
level 1 --> level 2 --> level 3
但我认为可能有一个更好的 UI 小部件,它可以更容易地从列表本身具有不同级别的数据的列表中进行选择。
我今天有一个包含 200 多个项目的“平面”下拉选择器。问题是列表实际上是一个数据层次结构,所以我想看看是否有任何选择器可以显示数据层次结构,以便人们可以看到每个项目适合整个列表的位置。
现在我正在连接级别,因此它会显示如下内容:
level 1 --> level 2
level 1 --> level 2
level 1 --> level 2 --> level 3
但我认为可能有一个更好的 UI 小部件,它可以更容易地从列表本身具有不同级别的数据的列表中进行选择。
试试这个复选框树
编辑 1
如果您使用的是最新版本,您可以轻松地根据您的确切需求对其进行自定义,例如在选择孩子时更改祖先的选择。见下文:
(从checkboxtree.js的第 45 行开始)
onCheck: {
/**
* Available values: null, 'check', 'uncheck', 'checkIfFull'
*/
ancestors: 'check', /* <--- CHANGE THIS */
/**
* Available values: null, 'check', 'uncheck'
*/
descendants: 'check',
/**
* Available values: null, 'collapse', 'expand'
*/
node: '',
/**
* Available values: null, 'check', 'uncheck'
*/
others: ''
},
编辑 2
如果您在使其工作时遇到问题,请检查:
'check'
为''
更改源代码可能不是最佳实践。更改参数的官方方法使用如下代码:
$('#tree7').checkboxTree({
onCheck: {
ancestors: '',
descendants: 'check'
},
onUncheck: {
ancestors: 'uncheck'
}
});
您会在此页面的选项卡 7 上找到一个几乎类似的示例,并且可以看到它与该'checkIfFull'
选项一起使用。对我来说,这个''
选项也确实有效。