Jstree-Can't在AJAX调用中选中复选框,适用于经典调用.一个问题
Jstree - Can't check checkboxes in AJAX call, works in classic call. An issue?
我做了一个AJAX调用来创建和填充我的JSTreediv。我激活了复选框插件,并尝试选中我的AJAX结果回调中的所有复选框。它不起作用。
我将相同的函数(将选中所有框)绑定到一个按钮上,在这里,它可以工作。
我还试着用jQuery通过自定义事件检查所有复选框,但它什么都没做,就像AJAX调用一样
这是JSTree的问题还是我遗漏了什么?
我在JsFiddle中转载了这期(?):https://jsfiddle.net/Lyyn/c74wpa6z/
规格:
- jQuery 1.9.1
- jsTree 3.2.1
代码
HTML
<h1>
JSTree Demo
</h1>
<button id="btn">
Check All
</button>
<div id="jstree">
</div>
JS
// Populate the tree with some generic data
$.ajax({
// ... initial ajax code with some generic data
success: function(response) {
var $tree = $("#jstree");
$tree.jstree(response);
// Try to check all boxes, it doesn't work
checkAll($tree);
}
});
// Try to check all boxes, here it works. Why.
$("#btn").click(function(){
checkAll($("#jstree"));
})
// This will check all boxes inside the tree
function checkAll(tree) {
tree.jstree(true).check_all();
}
这是因为当您在成功回调中调用checkAll
时,jstree还没有构建节点。只需将您的checkAll
调用封装到ready.jstree
事件中,如下所示。查看演示-Fiddle。
...
success: function(response) {
var $tree = $("#jstree");
$tree.jstree(response).on('ready.jstree', function() {
// Try to check all boxes
checkAll($tree);
});
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- 我需要从php调用javascript或jquery
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- 在经典 ASP 中将值从 JavaScript 传递到 VB Scipt,并在 JavaScript 中调用 VB 脚本
- JAVA脚本函数中调用的ASP经典函数
- 单击表单提交按钮时调用经典ASP函数
- Jstree-Can't在AJAX调用中选中复选框,适用于经典调用.一个问题
- 在经典 ASP 中,单击按钮时调用多个函数
- 在经典asp中调用visual basic代码中特定点的javascript函数
- 使用服务器端Javascript的经典ASP,在不同的文件中调用函数
- 如何从经典ASP中调用COM对象函数
- 从Javascript调用ASP经典函数
- 在经典的asp应用程序中动态调用JS文件来加载——这是我们的开发人员试图实现的