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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
게시글 목록에서 추천 버튼 누를때 작동하는 ajax 소스

QA

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

본문

그누보드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> 

답변을 작성하시기 전에 로그인 해주세요.
전체 61
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT