在javascript中创建函数
我在php中有一个用于绘制树菜单的函数,我想用javascript实现同样的功能。。但是我是java脚本新手,所以我需要帮助 这是javascript中的函数在javascript中创建函数,javascript,php,Javascript,Php,我在php中有一个用于绘制树菜单的函数,我想用javascript实现同样的功能。。但是我是java脚本新手,所以我需要帮助 这是javascript中的函数 /** * Recursive Function to show the nested Menu * @param $data array of all the data in DataBase * @param $level choose the level form which the nested menu will start
/**
* Recursive Function to show the nested Menu
* @param $data array of all the data in DataBase
* @param $level choose the level form which the nested menu will start
* @return nested menu in Html Form.
*/
function recursive($data, $level) {
$r = "<ul>";
foreach ( $data as $i ) {
if ($i['parent'] == $level ) {
$r = $r . "<li><a href='#' onclick = 'getId(".$i['id'].")'>" . $i['title'] . recursive( $data, $i['id'] ) . "</a></li>";
}
}
$r = $r . "</ul>";
return $r;
}
level参数从level开始,我用O来打印一棵这样的树
> shreif
ssss
asdddd
asd
sad
asd
dddd
sad
asd
asd
aaaa
我将该数据更改为json,如下所示:
var old_data = '<?php echo json_encode($nested); ?>';
所以我需要一个函数来处理这个问题,并像在php中一样绘制相同的嵌套菜单
这是我的尝试:
function recursive(data,level)
{
var list = document.getElementById("mylist");
for ( i in data )
{
if ( i['parent'] == level )
{
var r = item.appendChild(
document.createTextNode(
"<li><a href='#' onclick = 'getId(".i['id'].")'>" . i['title'] . recursive( data, i['id'] ) . "</a></li>")
);
}
}
list.appendChild(r);
}
函数递归(数据,级别)
{
var list=document.getElementById(“mylist”);
对于(数据中的i)
{
如果(i['parent']==级别)
{
var r=item.appendChild(
document.createTextNode(
“”)
);
}
}
表1.1子项(r);
}
是这样吗 使用id创建您的选择列表。如下所示:
<ul id="mylist"> </ul>
把所有这些都放到一个循环中,你就有了自己的功能。(我们不是来做所有工作的-你需要在阅读相关文档后至少自己尝试解决这个问题。)亲爱的@Shreif a.,这个网站不是教你代码,而是帮助你编写代码。所以请先学习javaScript并尝试一些东西。如果您在代码方面有任何困难,我们将帮助您。使用链接:@adrinao谢谢。。很抱歉发布这个问题-你能看看我的编辑并告诉我这是对的吗?!看起来是对的。它需要测试才能确定。另外,调用函数recursive有点误导,因为函数中没有递归。也许可以给它起个更合适的名字:)祝你好运!
function recursive(data,level)
{
var list = document.getElementById("mylist");
for ( i in data )
{
if ( i['parent'] == level )
{
var r = item.appendChild(
document.createTextNode(
"<li><a href='#' onclick = 'getId(".i['id'].")'>" . i['title'] . recursive( data, i['id'] ) . "</a></li>")
);
}
}
list.appendChild(r);
}
<ul id="mylist"> </ul>
var list = document.getElementById("mylist");
var item = document.createElement('li');
item.appendChild(document.createTextNode("WHATEVER YOU WANT"));
list.appendChild(item);