0

这是我的 JavaScript 代码。

    $(\"img.agree\").click(function()
    {
    var follow_id = $(this).attr(\"id\");
    var user_id = $(\"img.user_id\").attr(\"id\");

    $.ajax({
     type: \"POST\",
     url: \"/sys/follow.php\",
     data: { 'follow_id': + follow_id, 'user_id': + user_id },
     success: function(html){}
    });

    $(\"img.agree\"+follow_id).hide();
    $(\"img.notagree\"+follow_id).css('display','inline-block');
    });

    $(\"img.notagree\").click(function()
    {
    var follow_id = $(this).attr(\"id\");
    var user_id = $(\"img.user_id\").attr(\"id\");

    $.ajax({
     type: \"POST\",
     url: \"/sys/dontfollow.php\",
     data: { 'follow_id': + follow_id, 'user_id': + user_id },
     success: function(html){}
    });

    $(\"img.notagree\"+follow_id).hide();
    $(\"img.agree\"+follow_id).css('display','inline-block');
    });

我在 class='agree$string' 或 class='notagree$string' 之后使用唯一的字符串作为 ajax 请求一个和特定的,而不是发送等于所有 img 标签数量的请求。但它不会工作。我认为问题在于 +follow_id 或类似的东西。

4

1 回答 1

0

您是否考虑过将其移出到 javascript 文件中?我看不出用 PHP 生成它有什么意义,因为没有使用 PHP 变量。此外,您的 HTML 似乎看起来像这样。

<html>
<img id="1" class="agree1" src"" />
<img id="1" class="notagree1" src"" />
</html>

如果是这种情况,您真的不应该有具有相同 ID 的不同元素。我想是这样的。

<html>
<img id="agree1" class="agree" src"" />
<img id="notagree1" class="notagree"  src"" />
</html>

相应的 JS 将是:

$("img.agree").click(function()
    {
        var follow_id = /\d/.exec(this.id); //parse out the number you are looking for with a regex
        var user_id = $("img.user_id").attr("id");

        $.ajax({
             type: "POST",
             url: "/sys/follow.php",
             data: { 'follow_id': + follow_id, 'user_id': + user_id },
             success: function(html){}
        });

        $("#agree"+follow_id).hide();
        $("#notagree"+follow_id).css('display','inline-block');
    });

$("img.notagree").click(function()
    {
        var follow_id = /\d/.exec(this.id); //parse out the number you are looking for with a regex
        var user_id = $("img.user_id").attr("id");

        $.ajax({
             type: "POST",
             url: "/sys/dontfollow.php",
             data: { 'follow_id': + follow_id, 'user_id': + user_id },
             success: function(html){}
        });

        $("#notagree"+follow_id).hide();
        $("#agree"+follow_id).css('display','inline-block');
    });

再一次,我主张从 PHP 中删除它

于 2012-08-10T14:14:49.117 回答