for문에 스크립트 전체 적용이 되지 않아요.

for문에 스크립트 전체 적용이 되지 않아요.

QA

for문에 스크립트 전체 적용이 되지 않아요.

답변 3

본문

$list 데이터가 10개인데, 아래 코드를 실행하면 $i=0인 데이터만 스크립트가 진행되고, 나머지 $i=1에서 9는 스크립트가 실행되지 않아요. php for문에 있는 10개 모두에 스크립트가 적용되려면 어떻게 수정해야 하나요?

 

 

<?php

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

 

for ($i = 0; $i < count($list); $i++) {

 

                              

echo "<span id='a' style='color: black;'>$list[$i][‘d’]</span>";

       

    echo "<a onclick='javascript: c()'>클릭</a>";

                                      

 

?>

 

<script>

 

       

 

            function c() {

                var element = document.getElementById("a");

                element.style.color = "white";

</script>

 

<?php } ?>

이 질문에 댓글 쓰기 :

답변 3


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 
for ($i = 0; $i < count($list); $i++) {                              
    echo "<span id='a$i' style='color: black;'>$list[$i][‘d’]</span>";
    echo "<a onclick=\"javascript:c('a$i')\">클릭</a>";
?>
<?php } ?>
<script>
    function c(id) {
        var element = document.getElementById(id);
        element.style.color = "white";
    }
</script>

위 처럼 실행해면, 첫번째도 스크립트를 받아오지 못하네요~~ 해결이 되지 않았어요. 특히 id에 $i를 붙인 이유를 알 수 있을까요? 위와 같이 하여도 $i=0은 실행되고, 나머지 스크립트는 $i=0번만 실행되네요~~~

id 가 10개가 다 달라야하구요..
그 id 값을 넘겨서 style 을 변경해주는 겁니다.

제가 테스트해봤는데 이상없구요..
안된다면 다른 이유 입니다.

함수명 c 를 수정해보시거나,
아래 작은 따옴표 수정해주세요.
$list[$i][‘d’] => $list[$i]['d']

http://eyekiss.kr/test.php

function c 가 for 문 바깥에 선언되어야 하는데 안에 있어서 오류가 난것 같습니다.

eyekiss님깨져서 처리해주셨네요 배우고 갑니다. 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #DB ×
전체 840
© SIRSOFT
현재 페이지 제일 처음으로