加载后使用Jquery动态单击

加载后使用Jquery动态单击,jquery,onload,jstree,Jquery,Onload,Jstree,首先我解释了背景,然后是问题。我使用jstree将列表转换为树视图,在回发时,我得到一个HTML列表,jstree jQuery代码将其转换为树视图。我选择使用复选框 现在,当我有一个帖子回来,我失去了我所有的复选框(这是正常的),但我想重新检查他们与前一个相同的值。我将它们保存到会话中,但我真的不知道如何重新检查;我在Google上搜索,找到了很多解决方案,但是使用Json数据绑定,我使用Html数据。所以我想,也许我可以在onload之后动态点击每个需要检查的框 我知道这可能不是正确的方法,

首先我解释了背景,然后是问题。我使用jstree将列表转换为树视图,在回发时,我得到一个HTML列表,jstree jQuery代码将其转换为树视图。我选择使用复选框

现在,当我有一个帖子回来,我失去了我所有的复选框(这是正常的),但我想重新检查他们与前一个相同的值。我将它们保存到会话中,但我真的不知道如何重新检查;我在Google上搜索,找到了很多解决方案,但是使用Json数据绑定,我使用Html数据。所以我想,也许我可以在onload之后动态点击每个需要检查的框

我知道这可能不是正确的方法,但我真的想做这件事是为了更好地理解Jquery,这样我就可以找到更好的方法

因此,我编写了一个回调会话的函数,并用正确的id动态单击每个选中的框。当我将其放入按钮单击时,它工作了,但我认为这是因为单击是在onload之后完成的。我想要的是在onload时使用该函数,但在jstree Jquery完成后,将列表转换为treeview

我尝试了一些在这里找到的方法,但没有成功(可能是因为我对Jquery太生疏,对javascript过敏:。

您应该使用

您可以在jstree的
loaded
事件上执行此操作,如下所示:

$('element').bind("loaded.jstree", function (event, data) {
    $('input[type=checkbox]').trigger('click');
}).jstree(...);
$('element').bind("loaded.jstree", function (event, data) {
    $('input[type=checkbox]').trigger('click');
}).jstree(...);