Jquery Jstree复选框事件捕获

我完全是jQuery和jstree的新手.我正在使用jstree并使用xml填充数据.但是想要捕获每个节点的事件,无论是否检查它们的Ids.我尝试使用jstree的插件API,如change_state(),check_node()或select_node(),但它不工作.此外,我想获取所有选定的节点数据在一个数组进一步处理.可以帮助任何人吗?

谢谢…

解决方法

我喜欢jstree插件,但它没有很好的记录,也没有建立符合说,jquery ui插件开发的标准.我使用1.0rc2来完成你想要做的事情.

在实例化jstree之前,必须绑定“已加载”事件,所以我猜这是与“change_state”事件相同的.另外要注意的是,“change_state”不仅仅是一个复选框的更改.例如,当您展开节点(但由于某种原因而不会崩溃)时,它也将触发.也就是说,我在“change_state”处理程序中进行一些kludgey检查,以从复选框更改中尝试过滤掉不需要的事件.点击处理程序的最小代码

$("#treeElement").bind("change_state.jstree",function (e,d) {
    var tagName = d.args[0].tagName;
    var refreshing = d.inst.data.core.refreshing;
    if ((tagName == "A" || tagName == "INS") &&
      (refreshing != true && refreshing != "undefined")) {
    //if a checkBox or it's text was clicked,//and this is not due to a refresh or initial load,run this code . . .
    }
});

您点击的元素是d.rslt,您可以使用d.inst.get_checked()获取所检查项目,只需单击元素,或者使用d.inst.get_checked(d.rslt)查找包含所选子节点的对象.使用jquery的.each函数处理节点.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...