php
  • jquery
  • ajax
  • post
  • 2013-02-08 78 views 0 likes 
    0

    我有一個Ajax函數,可以在點擊時更新一些數據。我將post中的變量作爲函數參數發送。另一方面,我解析了一系列變量,並在每個變量上應用了函數。這裏是我的代碼:Ajax:成功替換字符串

    function vote(user, picture){ 
        var data = { 
        "user": user, 
        "picture": picture 
        }; 
        var url = 'vote_up.php'; 
        $.ajax({ 
        type: 'POST', 
        url: url, 
        data: data, 
        async: true, 
        dataType: 'json', 
        success: function(response) { 
         $('a#voteaza').replaceWith('<span style="color:#abb4c9; font-size: 15px;"> </span>'); 
         $('#changeNumber').html(parseInt($('#changeNumber').html(), 10)+1); 
        } 
        }); 
    } 
    

    而且PHP:

    foreach($photos['data'] as $photo) { 
        $a = end(explode('/',$photo['source'])); 
        <a href="#" id="voteaza" name = "<?php echo $a; ?>" style="color:#abb4c9; font-size: 15px; font-weight: bold; " onclick="vote('<?php echo $user ?>', '<?php echo $a ?>');">Voteaza</a> <br /> <span style="color:#abb4c9; font-size: 13px;" id="changeNumber"> <?php echo no_votes($a); ?> Voturi </span> 
    

    的問題是,在成功,jQuery的

    $('a#voteaza').replaceWith('<span style="color:#abb4c9; font-size: 15px;"> Vote! </span>'); 
    $('#changeNumber').html(parseInt($('#changeNumber').html(), 10)+1); 
    

    替換所有的 'voteaza' IDS與'投票'字符串,並增加所有'changenumber'id字段。但是我希望成功函數僅對當前Ajax更新的<a name元素執行。

    任何想法如何做到這一點?

    謝謝!

    +2

    你是什麼意思* all * the'votaza'?只能有一個 –

    +0

    元素ID必須是唯一的。使用類來代替非唯一值的ID。 –

    +0

    您不應該在HTML中使用相同ID的多個字段。嘗試使用類定義。 – ryadavilli

    回答

    1

    你的身份證在頁面上應該是唯一的。你不能在頁面上給出相同的ID:你可以看到你在foreach中調用了id,並且都具有相同的值。

    試試這個我不知道這是否工作。你可以這樣做。

    ​​
    相關問題