2012-09-17 2 views
0

쿼리에서 얻은 ID를 사용하는 div가 여러 개 있습니다.이 ID는 div onclick을 표시하거나 숨기는 기능에 사용됩니다. 내 문제는 div가 "show"가 "hide"("hide"가 "show"로 변경되지 않음)로 변경되지만 div의 내용은 표시되지 않는 것처럼 보이는 아래 코드를 사용하고 있습니다.div 표시/숨기기 기능에서 쿼리 결과 사용

자바 스크립트 :

function toggle(id) { 
    var ele = document.getElementById(id); 
    var text = document.getElementById(id); 
      if(ele.style.display == "block") { 
      ele.style.display = "none"; 
      text.innerHTML = "show"; 
} 
else { 
    ele.style.display = "block"; 
    text.innerHTML = "hide"; 
} 
} 

PHP :

echo "Info: <a id='$id' href='javascript:toggle(\"$id\");'>show</a>"; 
     echo"<div id='$id' style='display: none'></div>"; 
+1

ID가 – liunian

+0

liunian이 옳다 고유해야합니다, ID를 두 번 사용하지 않습니다 – Soundz

답변

2

동일한 ID를 두 번 잘못 사용하고 있습니다. 태그 ID에 _toggle을 추가하면이 문제를 해결할 수 있습니다.

이 당신의 코드를 변경

그것은 작동 할 수 있습니다

자바 스크립트 :

function toggle(id) { 
    var ele = document.getElementById(id); 
    var text = document.getElementById(id + '_toggle'); 
    if(ele.style.display == 'block'){ 
     ele.style.display = 'none'; 
     text.innerHTML = 'show'; 
    }else{ 
     ele.style.display = 'block'; 
     text.innerHTML = 'hide'; 
    } 
} 

PHP :

echo 'Info: <a id="'.$id.'_toggle" href="javascript:toggle(\''.$id.'\');">show</a>'; 
echo '<div id="'.$id.'" style="display: none;"></div>'; 
+0

감사 메이트, 많이 apreciated – zhaobaloth

0

당신이 HREF 및 사업부

php: 

    echo "Info: <a id='$id' href='javascript:toggle(\"$id\");'>show</a>"; 
    echo"<div id='$id' style='display: none'></div>"; 

변화는 A의 $ ID를 모두 동일한 ID를 사용하고 있습니다.