php
  • jquery
  • ajax
  • post
  • 2013-02-08 32 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,并且都具有相同的值。

    试试这个我不知道这是否工作。你可以这样做。

    ​​
    相关问题