首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >xajax扩展列表查询

xajax扩展列表查询
EN

Stack Overflow用户
提问于 2011-02-16 01:01:36
回答 1查看 407关注 0票数 2

如你所见,我是一个ajax的新手,但是我可以做一点php,所以我选择了xajax来帮我处理javascript。

我有一个数组,其中的项目列在不同的部分中。我想使用这个数组来生成一个无序列表,当有人单击某个部分时,该列表就会展开。

我改编了我在这里找到的一个脚本:

Sliding Draw

我的脚本目前看起来像这样:

代码语言:javascript
运行
复制
<?php

include ("xajax_core/xajax.inc.php");

$subs =     array(
        "Mortice" => array("Union Deadlock 2.5", "Union Deadlock 3",      "Union Sashlock 2.5", "Union Sashlock 3"),
        "Cylinders" => array("30/30 Euro", "30/40 Euro", "30/50 Euro", "30/60 Euro"),
        "uPVC" => array("30/92 Fullex", "35/92 Fullex", "Sash jammer")
        );

function addsub($show, $key)
{

$objResponse=new xajaxResponse();

if ($show=="true") {
    $objResponse->assign("list", "style.display", "block");
    $objResponse->replace("$key","innerHTML","true","false");
}
else {
    $objResponse->assign("list", "style.display", "none");
    $objResponse->replace("$key","innerHTML","false","true");
}

return $objResponse;
}

$xajax = new xajax();
$xajax->registerFunction("addsub");
$xajax->processRequest();

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php $xajax->printJavascript() ?>
<title>Expand menu test</title>
<style type="text/css">

.list {display: none;}

</style>
</head>

<body>

<?php
echo "<ul>\n";

foreach ($subs as $key => $group) {
echo "<li id=\"".$key."\" onClick=\"xajax_addsub('true','$key');\">".$key."\n";
echo "<ul class=\"list\" id=\"list\">\n";
    while (list($list, $each) = each($group)) {
        echo "<li id=\"list\">".$each."</li>\n";
        }
    echo "</ul>\n</li>\n";
}

echo "</ul>";


?>




</body>
</html>

这个想法是,当一个元素被单击时,它将样式显示更改为block (从而显示列表的其余部分),并将函数设置为'false‘,因此如果再次单击它,它会将显示更改回none并隐藏列表。

不用说,它不起作用,所以如果有人能告诉我为什么我会永远感激。

干杯,

尼克。

已解决-我通过将要显示(或隐藏)的列表放入<divs>中对其进行排序,并为它们分配一个唯一的id,并将它们的样式设置为display: none。然后,当它被点击时,我只需要请求将样式设置为block。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-22 01:18:08

我认为你应该把jQuery作为默认的javascript库,它被很多网络专业人士使用,而且非常好用。您将在那里找到Accordion控件,我认为它将非常适合这种需要。

祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5006832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档