게시글 목록에서 추천 버튼 누를때 작동하는 ajax 소스

게시글 목록에서 추천 버튼 누를때 작동하는 ajax 소스

QA

게시글 목록에서 추천 버튼 누를때 작동하는 ajax 소스

답변 2

본문

그누보드5로 스킨을 작업중입니다.

 

게시글 목록에 "추천" 버튼을 누르면 새로고침 없이 추천이 처리되고 추천 버튼 색깔이 바뀌는걸 구현하려고 합니다.

게시글 내용 보기에서는 버튼이 하나이지만

글 목록에서는 추천 버튼이 여러개자나요.

 

이때 추천 버튼을 누르면 ajax로 어떻게 처리하는지 알고 싶습니다.

버튼에 이미지를 사용할 생각입니다.

 

글 목록에서 각 제목 앞에 별표를 넣고 별표를 누르면 추천이 되고 색깔이 회색에서 녹색으로 바꾸게 하고 싶어요.

서버쪽에서 처리는 할수 있는데...

웹브라우저에서 페이지에 버튼의 id값이나 class는 어떻게 하고 ajax를 어떻게 처리해야 할지 잘 모르겠습니다.

팁이나 관련 스킨이 있거나 자료가 있으면 부탁 드립니다.

 

 

글로 설명하려니 어렵네요.

읽어 주셔서 고맙습니다.

이 질문에 댓글 쓰기 :

답변 2


<span class="like" data-wrid="4">추천</span>
<span class="like" data-wrid="2">추천</span>
<span class="like" data-wrid="3">추천</span>
<span class="like" data-wrid="1">추천</span>
<script type="text/javascript">
$(function() {
    $("span.like").on("click", function() {
        $.ajax({
            type : "post",
            url : "like_it.php",
            data : {
                wr_id : $(this).data("wrid"),
                bo_table : $("#bo_table").val()
            },
            success : function(dt) {
                if(dt == "y") {
                    $(this).text("추천했음");
                }
            }
        });
    });
});
</script>​
 

 

생각나는 대로 그냥 써서...

php 부분은 직접 할 줄 안다 하셨으니 그 부분에서 추천하고 나서 y만 찍히게 해서 넘기시면 됩니다.

이미지로 안 하고 텍스트로 했는데 저 부분은 보시면 수정 가능하시리라 봅니다.

data-wrid 이거는 wr_id 넣어 주시면 됩니다.

제가 설명을 잘 할수있을지 모르겠습니다.

 

우선 그누보드5 basic 스킨에서 list.skin.php 에서 목록 뿌려주는 부분에 

 

<?php if ($is_good) { ?><td class="td_num"><a class="good_button" href="./good.php?bo_table=<?php echo $bo_table?>&wr_id=<?php echo $list[$i]['wr_id']?>&good=good"><img src="gray_star" /><?php echo $list[$i]['wr_good'] ?></a></td><?php } ?> 

 

그리고 제일 하단에 아래에 스크립트 삽입.

 

<script>

$(function() {

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

        excute_good(this.href, $(this));

        return false;

    });

});

function excute_good(href, $el)

{

    $.post(

        href,

        { js: "on" },

        function(data) {

            if(data.error) {

                alert(data.error);

                return false;

            }

            if(data.count) {

// 결과처리

//console.log(data.count);

//$el.find("img").attr("src","green_star");

            }

        }, "json"

    );

}

</script> 

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