질문Q #13584
php에서 jquery로 데이터 전달..
orangeheim2016-05-09 11:08:43

ci를 사용하여 홈페이지 제작중입니다. 

index.php에서 공지사항 리스트를 뿌려주고 보고싶은 항목을 클릭하면 모달로 띄우는 형식입니다.

 

일부 코드를 보여드리면

 

1) index.php에서 foreach 문으로 리스트를 뿌립니다.

 

<? foreach ($notice_list as $data){?>                  

     <li><a href="#"><span class="label"><?= $data->category1?></span>          

          <span class="boardTitle"><?=$data->title?></span>                               

          <span class="date"><?=$data->date_f?></span>                          

          </a></li>  

<?}?>

 

2) 보고싶은 글을 클릭하면 controller 타고 board.php 파일이 모달로 열립니다.(해당글을 클릭하면 실행되는  jquery(외부폴더의 common.js 파일에 존재))

function colorBox(){

var boardUrl =  "/index.php/controller/board";  

$(".boardList li a").click(function(e){      

  e.preventDefault();      

 $.colorbox({          

 href : boardUrl,            

onComplete : function(){        

        $(this).colorbox.resize();            },          

 maxWidth:"100%",          

 width:"650"        })  

 })

 

        }

 

저는 여기서 해당글에대한 id값을 controller로 넘겨 글을 띄우고 싶은데 방법을 알수가 없네요ㅠㅠ

jquery의 baseurl 쪽에 해당 아이디를 붙이면 될것 같은데 데이터를 넘기는 법을 모르겠습니다...ㅜ

 

 

답변2
#1 kaido 2016-05-09 11:22:26
//php 변수 javascript 에 넣기
var  id = "<?=$data->id ?>";


//jquery style
//view

<a href="#" class="notice_id" data-id="<?=$data->id?>" > </a>

$(".notice_id")click(function (){

alert($(this).data("id"));

});

 

보조 설명좀 해드리면 1번 타입은 직접 변수를 넘기는 방법.

 

2번은 클래스 타입으로 선언 시켜놓고, 클릭을 하면 발동.

해당 클래스의 this [현재 클릭된] 타입의 정보를 data로 담아서 가져오기. 

data 선언 -id 구분자 [변경 가능  -name -type -isd 등등 사용자 마음대로 선언

 

불러올때는

$(this).data("구분자");

 

ps. click 이벤트는 자바스크립트 온 로드 상태에서 미리 로드가 되어야 정상 작동 합니다.

#2 orangeheim 2016-05-09 11:45:36
정말 감사합니다!