试试这个Checkbox Tree
编辑 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
如果您在执行此操作时遇到问题,请检查:
- 您的 jquery.checkboxtree.js 版本为 0.5 [版本位于文件的第 8 行]。
- 您指的是本地副本,而不是外部版本,也不是缩小版本
- 确保您已将
'check' 更改为 ''
更改源代码可能不是最佳做法。更改参数的官方方法使用如下代码:
$('#tree7').checkboxTree({
onCheck: {
ancestors: '',
descendants: 'check'
},
onUncheck: {
ancestors: 'uncheck'
}
});
您会在this page 的选项卡7 上找到一个几乎类似的示例,并且可以看到它与'checkIfFull' 选项一起使用。对我来说,'' 选项也可以。