2012-01-03 28 views
0

クリックして投票を有効にすると、投票を無効にすることができます。有効なボタンをクリックすると無効になります。リンクのjQueryでボタン/リンクを無効/有効にする方法は?

$("a.vote_down").click(function() { 
    //get the id 
    the_id = $(this).attr('id'); 

    //the main ajax request 
    $.ajax({ 
     type: "POST", 
     data: "action=vote_down&id="+$(this).attr("id"), 
     url: "votes.php", 
     success: function(msg) { 
      $(".vote_down").addClass("active"); 
      $(".vote_up").removeClass("active"); 
      $("span#votes_count").html(msg); 
     } 
    }); 
}); 

ワン:

<a href='javascript:;' class='vote_up<?php if($liked["points"]=="1") echo " active";?>' id='<?php echo $id; ?>'>Vote Up</a> 

答えて

2

activeクラスのライブクリックイベントとしてこれを使用してみてください。いくつかの抽象化を追加しました。

$("a.vote_down.active").live("click", function(e) { 
    Vote($(this).attr('id'), false); 
}); 

$("a.vote_up.active").live("click", function(e) { 
    Vote($(this).attr('id'), true); 
}); 

function Vote(id, value) { 
    //the main ajax request 
    var action = value ? "vote_up" : "vote_down" 
    $.ajax({ 
     type: "POST", 
     data: "action=" + action + "&id=" + id, 
     url: "votes.php", 
     success: function(msg) { 
      $(".vote_down").toggleClass("active", value); 
      $(".vote_up").toggleClass("active", !value); 
      $("span#votes_count").html(msg); 
     } 
    }); 
} 

作業例:http://jsfiddle.net/hunter/XQfgU/(マイナスAJAX) `` タグの `href`属性が何であるかに応じて、

+0

、あなたも'機能を追加したい場合があります(E ) 'を' e.preventDefault() 'に置き換えます。 –

関連する問題