【发布时间】:2020-06-23 05:59:31
【问题描述】:
我在移除 js 树中的换行时遇到问题。例如,现在我的树节点是 199 test Rujuk Kod:100-1-1。我在 199 测试 Rujuk Kod:100-1-1 中添加了换行符。但我只想添加 199 测试,Rujuk Kod:100-1-1 不想添加 line-through。希望有人能帮我解决这个问题。谢谢。
下面是我的代码:
<?php
$folderData = mysqli_query($mysql_con,"SELECT * FROM filing_code_management");
$folders_arr = array();
while($row = mysqli_fetch_assoc($folderData)){
$parentid = $row['parentid'];
$siri_pindaan = $row['siri_pindaan'];
$effective_date = $row['effective_date'];
$filing_code_refer = $row['filing_code_refer'];
$filing_code_link = $row['filing_code_link'];
if ($filing_code_refer != NULL) {
$refer_to_code = "Rujuk Kod:";
}
if ($filing_code_refer == NULL) {
$refer_to_code = " ";
}
if ($filing_code_link != NULL) {
$link_to_code = "Berhubung Kod:";
}
if ($filing_code_link == NULL) {
$link_to_code = " ";
}
if($parentid == '0') $parentid = "#";
$selected = false;$opened = false;
if($row['id'] == 2){
$selected = true;$opened = true;
}
$folders_arr[] = array(
"id" => $row['id'],
"parent" => $parentid,
"text" => $row['name'] . ' ' ."<span id='open' style='font-size:9px;'>".$refer_to_code .$row['filing_code_refer']."</span>" .' '. "<span id='open' style='font-size:9px;'>".$link_to_code .$row['filing_code_link']."</span>" .' '. "<span id='open' style='font-size:9px;'>".$row['description_update']."</span>",
"category" => $row['category'],
"filing_code_refer" => $row['filing_code_refer'],
// "status" => $row['status'], // status 0 is inactive, status 1 is active
"data" => array("status" => $row['status'],"add_underline"=>$row['add_underline']) ,
"state" => array("selected" => $selected,"opened"=>$opened)
);
}
?>
<script>
var colorNodes = function(nodelist) {
var getStrike = function(status) {
if (status === "0") {
return "line-through";
} else {
return "";
}
};
var getUnderline = function(add_underline) {
if (add_underline === "1") {
return " underline;text-underline-position: under;";
} else {
return "";
}
};
var tree = $('#folder_jstree').jstree(true);
nodelist.forEach(function(n) {
tree.get_node(n.id).a_attr.style = "color:" + getColor(parseInt(n.text.substr(0, 3), 10))+ ";"+"text-decoration:" + getStrike(n.data.status) + getUnderline(n.data.add_underline);
tree.redraw_node(n.id); //Redraw tree
colorNodes(n.children); //Update leaf nodes
});
};
</script>
这是我的 jsfiddle:https://jsfiddle.net/mLr5w2pd/1/
我的预期结果如下图:
更新 下面是展示js树中的内容。
<!-- Initialize jsTree -->
<div id="folder_jstree" title=""></div>
<!-- Store folder list in JSON format -->
<textarea style="" id='txt_folderjsondata'><?= json_encode($folders_arr) ?></textarea>
更新 2
【问题讨论】:
-
将状态改为“1”而不是“0”。正如您在
getStrike()中看到的那样。 -
@Lain 状态无法更改为 0,因为需要检查此节点是否处于活动状态
-
如果 inactive 0 将显示 line-through。但现在我只想要 Rujuk Kod:100-1-1 不需要穿线
-
嗯,这不是它默认的工作方式。给那些
span上课,然后在课堂上取消。 -
感谢@Lain 给我建议。你能在下面告诉我哪些代码需要编辑吗?如果正确的话我可以给你打分。
标签: javascript css jstree