Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jsTree将所选节点的id获取为数组_Php_Ajax_Jstree - Fatal编程技术网

Php jsTree将所选节点的id获取为数组

Php jsTree将所选节点的id获取为数组,php,ajax,jstree,Php,Ajax,Jstree,我正在使用jsTree插件在我的codeigniter web应用程序中生成树菜单。我的任务是获取所选节点的id,获取节点的一些详细信息,并将其显示在同一页面中。所以我使用了jstree的changed事件。这是我的密码: <script type="text/javascript"> var url="<?php echo base_url();?>"; $(document).ready(function () { $('#html').jstree({ "c

我正在使用jsTree插件在我的codeigniter web应用程序中生成树菜单。我的任务是获取所选节点的id,获取节点的一些详细信息,并将其显示在同一页面中。所以我使用了jstree的
changed
事件。这是我的密码:

    <script type="text/javascript">
var url="<?php echo base_url();?>";
$(document).ready(function () {
$('#html').jstree({
"check_callback" : true,
'core' : {
'data' : {
"url" : url+"Applications/getfamilytree",
"dataType" : "json" // needed only if you do not supply JSON headers
}
},
'plugins' : ['state','changed','wholerow']
}).on("changed.jstree", function (e, data) {
var id = data.changed.selected;
console.log(id);
callAjax(id);

})

});
function callAjax(id)
{
$.ajax({
url: url+"Applications/populatefamilymenu",
dataType: 'json',
type: 'POST',
data: {id: id},
success: function(data){
console.log(data);
},
error: function(jqXHR, exception){
console.log(jqXHR.responseText);
}
});
}
</script>
模型

但当我获取所选节点的id并使用ajax将其传递给控制器函数时,返回的数据显示错误:

Php致命错误:数组到字符串转换

当我在控制台中检查ajax post错误时,它显示:

错误号:1054

where子句中的未知列“Array”

选择*,
选项卡关系
关系
E2
名称AS
父名
tab\u成员
tab\u relations
上加入
tab\u relations
关系id=
tab\u成员
关系id
左外连接
tab\u成员
作为
E2上的
E2
成员id
=
tab\u成员
父id
其中
tab_members
family_id
=Array

文件名:D:/xampp/htdocs/abc/admin/system/database/DB_driver.php

我使用了console.log(id),结果显示:

我认为阵列来自:

var id = data.changed.selected; 

这将返回一个数组。那么如何仅获取节点的id呢?有人能帮我吗?

由于
数据已更改。选定的
似乎返回一个数组,其中包含id作为第一个元素,您需要使用以下方法访问id:

var id = data.changed.selected[0];

现在
id
将包含实际id而不是数组。

因为
数据已更改。选中的
似乎返回一个数组,其中包含id作为第一个元素,您需要使用以下方法访问id:

var id = data.changed.selected[0];
现在
id
将包含实际的id而不是数组。

什么是
console.log(id)给你?它显示[“8”]0:“8”长度:1_uu proto__uu:Array(0)console.log(id)是什么给你?它显示[“8”]0:“8”长度:1__proto__;u:Array(0)
var id = data.changed.selected[0];