php - xajax扩展列表查询

标签 php html css ajax xajax

如您所见,我是所有这些 ajax 东西的新手,但我会做一些 php,所以我决定使用 xajax 来为我处理 javascript。

我有一个数组,其中的元素列在不同的部分。我想使用此数组生成一个无序列表,当有人点击某个部分时该列表会展开。

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

Sliding Draw

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

<?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”,因此如果再次单击它,它会将显示更改回无并隐藏列表。

不用说它不起作用,所以如果有人能向我指出原因,我将永远感激不已。

干杯,

尼克。

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

谢谢。

最佳答案

我认为你应该调查一下jQuery作为默认的 javascript 库,它被许多网络专业人士使用并且非常好。在那里你会找到 Accordion控制,我认为这将很好地满足这种需求。

祝你好运!

关于php - xajax扩展列表查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5006832/

相关文章:

HTML5 输入元素的 CSS Float 失败

html - 如何使我的 html 中的图像大小相等?

php - fb/orkut 等帖子中的格式化文本

php - MySQL 时间戳从创建之日起 30 天有效

php - Access 数据库并向多用户 Web 界面报告

javascript - 在表单提交按钮上呈现圆 Angular 的方法

php - 无法在 Advanced::with() 语句中选择列

java - jsp中的分页

php - 在 image.php 中加入 CSS 的条件语句

css - 如何使用 *ngFor 和 ionic2,angular2 添加第 n 个子类