|
发表于 2023-9-4 09:00
来自手机
|
显示全部楼层
js不错。
'发个php的热闹热闹
<!DOCTYPE html>
<html>
<head>
<title>treePicker</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes, minimum-scale=1.0, maximum-scale=3.0">
<style>
.hidden{display:none;}
li:hover{background:yellow}
</style>
<script type="text/javascript">
window.onerror=function(msg){
alert(msg)
}
</script>
<script>
doCopy=function (text){
if(isIE()){
document.body.extend.doSomething(text)
}else{
var Url2=document.getElementById("biao1");
Url2.value=text;
Url2.select(); // 选择对象
document.execCommand("Copy");
}
}
</script>
</head>
<body>
<input type=search id="filter" onblur="" onkeyup="doFilter()" ><input type=button value=筛选 onclick=doFilter()>
<?php
error_reporting(E_ERROR|E_PARSE);
$db=new \PDO("sqlite:".$_SERVER["DOCUMENT_ROOT"]."/EData/tooldb/sqlite**.db");
$tableName="tree_view_picker";
//header("Content-type: text/html; charset=utf-8");
/**********************
一个简单的目录递归函数
第一种实现办法:用dir返回对象
***********************/
function get_dir($directory){
global $db,$tableName;
$sql="select Child from $tableName where Parent like '{$directory}'";
//echo $sql;
$result=$db->query($sql)->fetchAll();
//print_r($result);
return $result;
}
function tree($directory,$level=0)
{
$mydir=get_dir($directory);
if((!$mydir)) return;
if($level>0){
echo "<ul class=\"hidden\">\n";
}else{
echo "<ul>\n";
}
foreach($mydir as $file){
//echo "<li onclick=\"opentree(this)\"><font color=\"#ff00cc\"><b>${file["Child"]}</b></font><input type=button value=Copy onclick=\"copyAndPaste('${file["Child"]}')\"></li>\n";
echo "<li ><b onclick=\"opentree(this)\">${file["Child"]}</b><input type=button value='Copy' onclick=\"doCopy('${file["Child"]}')\"></li>\n";
$level++;
tree($file["Child"],$level);
} //while
echo "</ul>\n";
} //funcion
//开始运行
//echo "<h2></h2>";
//tree("sdcard0");
//echo dirname(__FILE__);
tree("ROOT",0);
?>
<textarea cols="16" rows="1" id="biao1">选定的科目</textarea>
<script>
function isIE()
{
if(!!window.ActiveXObject || "ActiveXObject" in window)
return true;
else
return false;
}
</script>
<script>
if(!isIE()){
opentree=function (myNode){
//alert(myNode.parentNode.innerHTML)
ul=myNode.parentNode.nextSibling.nextElementSibling;
if(ul==null) return;
if(ul.tagName!="UL") return;
// ul=myNode.parentNode.nextSibling.nextElementSibling;
var sh=ul.classList.contains('hidden');
if(sh){
ul.classList.remove('hidden');
}else{
ul.classList.add('hidden');
}
}
}else{
opentree=function (myNode) {
var ul = myNode.nextSibling;
// Find the next sibling with tagName 'UL'
while (ul && ul.tagName !== 'UL') {
ul = ul.nextSibling;
}
if (ul) {
// Check if class 'hidden' is present
var sh = ul.className.indexOf('hidden') !== -1;
if (sh) {
// Remove class 'hidden'
ul.className = ul.className.replace(/\bhidden\b/g, '');
} else {
// Add class 'hidden'
ul.className += ' hidden';
}
}
}
}
</script>
<script>
function doFilter(){
//alert(document.getElementById("filter").value)
var _date = new Date();
_date.setDate(_date.getDate()+30);
document.cookie = 'filter='+document.getElementById("filter").value+';expires='+_date.toGMTString();
iniFilter();
}
function iniFilter(){
var cookie_filter=document.cookie.split(";")[0];
var cookie_filter=cookie_filter.split("=")[1];
//document.getElementById("filter").value=cookie_filter
var links=document.getElementsByTagName("li");
for(i=0;i<links.length;i++){
//alert(links.getAttribute("class"))
//alert(links.className)
//console.log("links",links.innerText)
//console.log("pat",pat)
//var Reg=/show/;
var pat=document.getElementById("filter").value;
Reg = new RegExp(pat);
if(!Reg.exec(links.innerText)){
links.className="hidden test"
}//if
else{
links.className=""
}//elseif
}//for links
}// iniFilter
iniFilter();
</script>
</body>
</html>
Parent Child
A001财务经理 A006出纳
A001财务经理 A002财务专员
root A000总经理
A000总经理 A001财务经理
A001财务经理 A007出纳
A001财务经理 A004财务专员
A008销售经理 A010销售专员
A008销售经理 A009销售专员
A012生产经理 A013计划员
A008销售经理 A011销售专员
A012生产经理 A015计划员
A000总经理 A027成本经理
A021实习生 A028实习助理
A016计划员 A018计划助理
A012生产经理 A014计划员
A019计划助理 A021实习生
A019计划助理 A020见习生
A000总经理 A008销售经理
A001财务经理 A031会计
A031会计 A032会计助理
A001财务经理 A005财务专员
A000总经理 A012生产经理
A004财务专员 A024专员助理
A023见习生 A030见习助理
A031会计 A033会计助理
A030见习助理 A039临时工
A028实习助理 A040临时工
A016计划员 A019计划助理
A010销售专员 A026专员助理
A032会计助理 A034会计实习
A027成本经理 A036成本核查
A010销售专员 A022专员助理
A014计划员 A043计划助理
A025专员助理 A029实习生
A001财务经理 A003财务专员
A040临时工 A044临时工助理
A034会计实习 A038实习助理
A036成本核查 A041成本助理
A007出纳 A017专员助理
A022专员助理 A023见习生
A036成本核查 A037成本助理
A041成本助理 A042见习生
A027成本经理 A035成本统计
A012生产经理 A016计划员
A004财务专员 A025专员助理
https://b23.tv/MDvuS9D |
|