我已经回顾了fancytree的文档和示例,花了好几个小时来吸收所有fancytree的善意,就像海绵一样,但我似乎无法想象如何使用API调用首先使用文件夹对我的fancytree对象进行排序.我最初通过安排我的初始JSON数据解决了这个问题,因此它已经按照顶部的文件夹排序(项目的要求),但现在我需要在树中添加一个新文件夹,我需要重新排序确保新添加的文件夹与其他文件夹一起显示在树顶部的对象.
我注意到sortChildren()有一个奇怪的选项,它允许定义一个自定义比较函数,但是我无法理解如何使用它.
任何想法将不胜感激!
下面是我正在做的事情的片段(我用一些表单元素的数据填充新的孩子):
//add the new foldername to the tree and re-order
var rootNode = jQuery("#document_objects").fancytree("getRootNode");
var childNode = rootNode.addChildren({
title: jQuery('#newfoldername').val(),
tooltip: jQuery('#description').val(),
folder: true
});
rootNode.sortChildren(null, true);
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我使用正则表达式已经很多年了,在计算正则表达式时从来没有遇到过这么多麻烦。我正在使用 PHP 7.2.2preg_match()返回一组匹配数字进行解析,因此使用正则表达式中的括号。
我试图匹配一个或多个数字,x后跟一个或多个数字,其中整个字符串后面没有连字符。当 $input 是18x18, 18x18-or 时18x18size,匹配的是18and 1。当$inputis 时8x8,没有匹配项。
我在这里似乎在做一些根本错误的事情。
<?php
$input = "18x18";
preg_match("/(\d+)x(\d+)[^-]/", $input, $matches);
Run Code Online (Sandbox Code Playgroud)
调用print_r($matches)结果:
Array
(
[0] => 18x18
[1] => 18
[2] => 1
)
Run Code Online (Sandbox Code Playgroud)
括号在那里是因为我使用 PHP 的 preg_match 返回匹配数组。我知道什么时候应该转义连字符,我已经尝试了两种方法来确保但得到相同的结果。为什么这不匹配?