Как вы увидите, я новичок во всем этом Ajax, но я могу сделать немного php, поэтому я решил использовать xajax, чтобы позаботиться о javascript для меня.
I 'у нас есть массив с элементами, перечисленными в другом разделе.Я хочу использовать этот массив для создания неупорядоченного списка, который расширяется, когда кто-то нажимает на раздел.
Я адаптировал скрипт, который нашел здесь:
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>
Идея состоит в том, что при щелчке элемента он меняет отображение стиля на блок (таким образом, показывая остальныеиз списка) и устанавливает для функции значение «ложь», поэтому при повторном нажатии она вернет экран к нулю и скроет список.
Нет необходимости говорить, что это не работает, поэтому, если кто-то может указатьмне, почему я был бы вечно благодарен.
Приветствия,
Ник.
Решено - я отсортировал это, поместив списки, которые будут показаны (или скрыты) в <divs>
и назначая им каждый уникальный идентификатор и устанавливая их стиль отображения: нет.Тогда мне просто нужно было сделать запрос, чтобы установить стиль как блок, когда на него нажали.
Спасибо.