首页> PHP>如何添加点击事件到jstree的(jQuery插件)异步列表?
作者:互联网
我想将点击事件添加到jstree的异步列表项中.
理想的结果是:当我单击jstree中的项目时,该项目的内容将作为参数传输到sql查询,然后执行该查询并在同一页或另一页中显示结果集.
虽然我不知道如何实现它.我在jquery.tree.js中找到了以下代码.而且我认为我应该修改事件.但是我不知道如何.您可以看到代码并给我一些建议或指导吗?
$("#" + this.container.attr("id") + " li a")
.live("click.jstree", function (event) { // WHEN CLICK IS ON THE TEXT OR ICON
if(event.which && event.which == 3) return true;
if(_this.locked) {
event.preventDefault();
event.target.blur();
return _this.error("LOCKED");
}
_this.select_branch.apply(_this, [event.target, event.ctrlKey || _this.settings.rules.multiple == "on"]);
if(_this.inp) { _this.inp.blur(); }
event.preventDefault();
event.target.blur();
return false;
})
页面代码:
<script type="text/javascript" >
$(function () {
$("#async_json_1").tree({
data : {
type : "json",
opts : {
url : "twodimen.php"
}
},
callback:{
onselect: function(node,tree){
}
}
});
});
</script>
非常感谢.
解决方法:
您可以使用通常在单击节点时发生的回调方法onselect(即使您也可以通过脚本选择它)
如果您的节点(li)的ID格式为“ node_1234”,则:
<script type="text/javascript" >
$(function () {
$("#async_json_1").tree({
data : {
type : "json",
opts : {
url : "twodimen.php"
}
},
callback: {
onselect: function(node, tree) {
var id = $(node).attr("id").split("_")[1]; // that is 1234
$.ajax({
url: "your/url",
data: "id="+id,
success: function(data){
alert("Great");
}
});
}
}
});
});
</script>
我刚刚意识到,还有一种甚至更简单的方式可以满足您的需求:
<script type="text/javascript" >
$(function () {
$("#async_json_1").tree({
data : {
type : "json",
opts : {
url : "twodimen.php"
}
}
});
$(".tree a").live("click", function(e) {
// your code here
})
});
</script>
标签:jstree,javascript,php,jquery 来源: https://codeday.me/bug/20191024/1918910.html