onclick 스크립트 질문입니다.
본문
설명이 다소 헷갈릴수 있으나.. 이게 저도 소스 작성중에 이런일이 처음이라 궁금해서 질문을 합니다.
1 - 원글
ㄴ 2 - 원글의 답변
ㄴ 3 - 답변글의 답변
현재 이렇게 계층형 글로 구성이 되어있다면
echo "<a target='iframe_show' id='latest_st' onclick='showRe(".$list[$i]['wr_id'].")' href=\"".$list_href."\">";
if($is_admin) {
if(!$list[$i]['wr_reply'])
echo " ".$list[$i]['subject']."<a target='iframe_show' class='first_re' href='".$reply_href."'>추가</a>";
} else {
if(!$list[$i]['wr_reply'])
echo " ".$list[$i]['subject']."";
}
echo "</a>";
?>
<li>
<?php
//답변글만 출력
if($is_admin){
if($list[$i]['wr_reply']){
echo "<a target='iframe_show' onclick='showRe(".$list[$i]['wr_id'].")' class='re".$list[$i]['wr_1']."' id='latest_re'href=\"".$list[$i]['href']."\" >".$list[$i]['icon_reply']." ";
echo $list[$i]['subject']."";
echo "</a><a target='iframe_show' class='re".$list[$i]['wr_1']."' id='second_re' href='".$reply_href."'>추가</a>";
}
}
else{
if($list[$i]['wr_reply']){
echo "<a target='iframe_show' class='re".$list[$i]['wr_1']."' id='latest_re'href=\"".$list[$i]['href']."\" >".$list[$i]['icon_reply']." ";
echo $list[$i]['subject']."";
echo "</a>";
}
}
?>
이렇게 소스를 자서 원글을 클릭시 답변글이 나오도록 onclick를 사용하여서 구현을 하였습니다.
그런데 생각해보니 원글의 답변글도 똑같이 하위 답변글이 있으면 클릭시 show나 hide를 시켜야
된다는 걸... 깨닫고 구상을 하던도중... 그냥 위의 답변 출력하는 부분에
onclick를 넣어보니 너무 허무하게 작동이 되었습니다...
좀 이게.. 말로는 표현이 어려운데 한곳에 실행과 결과를 같이 설정을 하면 원래 오류가 없이
작동이 되는건가요??
답변 2
ㅋㅋ 워터드래곤님 결국 답글을 클릭해서 출력시키는걸로 결정하셨나보네요 ㅎㅎ
제가 잘 이해했는지는 모르겠지만 열고 닫는게 졸라 많아서 복잡할땐
열때는 아이디로 여시고 닫을때는 클래스로 닫으세요.
<input type="button" value="열고닫아라" onclick="
$(".cccc").css("display","none");
$("#aaaa").css("display","block");
$(".bbbb").css("display","none");
">
클래스 cccc 는 모든 답변글에 기본으로 넣어두시고
클래스 bbbb 는 답변의 답변글에
아이디 aaaa 는 답변글에 사용하시면됩니다.
제가 이해한거 맞나요?;;;
!-->
저도 이해를 제대로 했는지 모르겠네요 ㅎㅎ
그리고 참고로 하나의 a 태그에서 onclick 의 복수실행은 여러개 중복사용해도 상관없다고 합니다.
전 지금 코딩하고 있는 페이지에 한번에 10개 실행하는데도 잘되요.
(만약 중간에 잘못된 명령어가 있으면 상위 명령어까지만 실행되고 멈춰요.)
그리고 크롬에서도 실행해보시구요
ie는 id만 있어도 잘 되는데
크롬의 경우 onclick 이벤트는 id 와 name 이 동시에 있어야 실행되는 경우도 있더라구요.
다 만들어놓고 이것때문에 맨붕온적도 있어요..
꼭 name 값 같이 사용하세요.