2011-02-15 2 views
2

나는이 아약스의 모든 것들에 초보자이지만 약간의 PHP를 할 수 있기 때문에 나는 자바 스크립트를 돌보는 xajax를 좋아한다.목록 쿼리를 확장하는 xajax

다른 섹션에 나열된 항목이있는 배열이 있습니다. 이 배열을 사용하여 누군가가 섹션을 클릭 할 때 확장되는 정렬되지 않은 목록을 생성하려고합니다.

은 내가 여기 스크립트를 적용했습니다

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> 

이 아이디어는 것을 요소를 클릭 할 때 그것에 스타일 표시를 차단 (따라서 목록의 나머지 부분을 보여주는) 변경하고 'false'로 설정하므로 다시 클릭하면 di 아무에게도 공개하지 말고 목록을 숨기십시오.

말할 필요도없이 누군가가 나에게 지적한다면 나에게 영원히 감사 할 것입니다.

건배,

닉.

해결 - 목록에 표시하거나 숨길 목록을 <divs>에 배치하고 각각 고유 한 ID를 할당하고 스타일을 display : none으로 설정하여 정렬했습니다. 그런 다음 스타일을 클릭 할 때 블록으로 설정하라는 요청을해야했습니다.

감사합니다.

답변

0

나는 당신이 기본 자바 스크립트 라이브러리로 jQuery을 조사해야한다고 생각한다. 많은 웹 전문가들이 사용하고 있으며, 매우 훌륭하다. 여기서 당신은 Accordion 컨트롤을 발견 할 것입니다.

행운을 빈다.

+0

저는 PHP가 마음에 들었고 javascript가 아니기 때문에 xajax를 사용하고 싶었지만 제안한 내용을 살펴 봤는데 탁월 해 보였습니다. 나는 이것이 이것이 앞으로의 길이라고 생각한다. 많은 감사합니다! –

+0

항상 도와 드리겠습니다. :-) 나는 자바 스크립트와 jQuery를 배우는 데 시간을 투자 할 가치가 있다고 약속한다. 미래에 사용할 서버 언어에 상관없이 항상 필요하기 때문이다. 행운을 빈다. –

관련 문제