Javascript 通过从节点父节点获取所有子节点对节点进行排序(获取子节点数组)

Javascript 通过从节点父节点获取所有子节点对节点进行排序(获取子节点数组),javascript,jquery-plugins,jstree,Javascript,Jquery Plugins,Jstree,我需要在移动节点时重新排列菜单。我认为js脚本应该使用ajax发送父节点的新顺序。但我不知道如何得到一系列的孩子。 例如: 名单 测试节点[id=1] 测试节点2[id=2] 子节点1[id=5] 子节点2[id=4] 子节点3[id=3] 测试节点3[id=6] 当我在子节点3之后移动子节点1时 更改列表 测试节点[id=1] 测试节点2[id=2] 子节点2[id=4] 子节点3[id=3] 子节点1[id=5] 测试节点3[id=6] 和发送到服务器端脚本的数组: 排列4,3,5 当我移动

我需要在移动节点时重新排列菜单。我认为js脚本应该使用ajax发送父节点的新顺序。但我不知道如何得到一系列的孩子。 例如:

名单

测试节点[id=1] 测试节点2[id=2] 子节点1[id=5] 子节点2[id=4] 子节点3[id=3] 测试节点3[id=6] 当我在子节点3之后移动子节点1时

更改列表

测试节点[id=1] 测试节点2[id=2] 子节点2[id=4] 子节点3[id=3] 子节点1[id=5] 测试节点3[id=6] 和发送到服务器端脚本的数组:

排列4,3,5


当我移动节点时,如何获取child数组?

好的,我解决了这个问题。我不知道只使用JStreeAPI是否可行,但我编写的代码是在相同的基础上工作的。我使用这个PHP,但是在这个语言中我需要编程。 这是PHP代码:

$id=intval($_REQUEST['id']);
$parent=intval($_REQUEST['parent']);
$position=intval($_REQUEST['position']);
$r=dbAll('select `id` from `menu` where `parent_id`='.$parent.' order by `order`');
$array=array();
foreach($r as $v)
    $array[]=$v['id'];
if(($key = array_search($id, $array)) !== false) {
    unset($array[$key]);
}
$insert=array($id);
array_splice( $array, $position, 0, $insert );
$array=array_values($array);
$i=1;
foreach($array as $val){
    dbQuery('update `menu` set `order`='.$i.',`parent_id`='.$parent.' where `id`='.$val);
    $i++;
}

函数dbAll用于获取所有匹配的记录,函数dbQuery用于发送mysqli查询。

如何“移动”这些节点,能否显示处理这些节点的JavaScript/jQuery以及相关HTML?您应该发布足够的代码,我们可以重现您的问题,请参阅:。您想获取节点数组(可能是它们的ID)吗?在JavaScript中,如问题的标记所示,或在PHP中如您自己发布的答案所示?我使用jstree插件for jquery移动这些内容,如问题的标记所示,并且我希望获得JavaScript中节点的数量。我没有找到答案,我使用它的PHP语言,但我更喜欢用JavaScript获取这个数组;html和JavaScript,如果使用插件,则显示您对该插件的调用。但是如果问题中没有代码,我们就无法提供代码来回答问题:请阅读MCVE页面。然后改进你的问题,帮助我们帮助你。谢谢你的建议,下次我会记住的。我解决了那个问题,我想到了完成。