Javascript 类似php/ajax的按钮不起作用

Javascript 类似php/ajax的按钮不起作用,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,大家好,我尝试用php和ajax创建like button,所以编写这些代码,但只在第一个循环中工作 <?php header('Cache-Control: no-cache'); ?> <script> $(document).ready( function(){ $("#like").click(function(){ $.ajax({ type:

大家好,我尝试用php和ajax创建like button,所以编写这些代码,但只在第一个循环中工作

<?php header('Cache-Control: no-cache'); ?>
<script>
    $(document).ready(
        function(){
            $("#like").click(function(){
                $.ajax({
                    type: "POST",
                    url: "<?php  echo ADDRESS ;?>thank.php",
                    data: "like="+$("#like").val(),
                    success: function(result){
                        $("#result").html(result);
                    }        
                });
            });
        }
    );
    </script>
<?php

foreach ($this->value['posts'] as $post){
    echo $post[1] . $post[0] .$post[2] . $post[3]  . '</br>';
    echo '<div id="result"></div>';
}
?>

$(文件)。准备好了吗(
函数(){
$(“#like”)。单击(函数(){
$.ajax({
类型:“POST”,
url:“thank.php”,
数据:“like=“+$(“#like”).val(),
成功:功能(结果){
$(“#结果”).html(结果);
}        
});
});
}
);

我想问题出在我的#像那样重复,jquery不知道哪一个是我们的div

好的,有人回答了我的问题,但我不知道为什么删除了:O

不管他或她写什么

$(this)
谢谢

您的代码不起作用,但请帮助我修复按钮值中的ok问题!所有按钮都返回了第一个循环的值,因此我将js代码更改为

<script>
    $(document).ready(
        function(){
            $(".like").click(function(){
                var spdiv = ".result" + $(this).val();
                $.ajax({
                    type: "POST",
                    url: "<?php  echo ADDRESS ;?>thank.php",
                    data: "like="+$(this).val(),
                    success: function(result){
                        $(spdiv).html(result);
                    }        
                });
            });
        }
    );
    </script>

$(文件)。准备好了吗(
函数(){
$(“.like”)。单击(函数(){
var spdiv=“.result”+$(this.val();
$.ajax({
类型:“POST”,
url:“thank.php”,
数据:“like=“+$(this).val(),
成功:功能(结果){
$(spdiv).html(结果);
}        
});
});
}
);

我使用类而不是id。

id是标识符,这意味着它们必须是唯一的!而且你的脚本很乱,我猜你没有提到页面上有很多类似的按钮,对吧

尝试以下PHP代码:

foreach ($this->value['posts'] as $index=>$post) {
    echo '<div class="comments">';
    echo $post[1] . $post[0] .$post[2] . $post[3]  . '</br>';
    echo '<button class="like" data-id="<?php echo $index; ?>">LIKE</button>';
    echo '<div class="result"></div>';
    echo '</div>';
}
foreach($this->value['posts']as$index=>$post){
回声';
回显$post[1]。$post[0]。$post[2]。$post[3]。
';
echo“是的,ID在文档上下文中必须是唯一的,请改用类。但是,确实不确定您在此处期望的结果是什么请尝试使用append(result)而不是html(result)@A.Wolff我使用了类,但结果相同:(@Mohamed Yousef not worked:-?没有足够的信息来了解您的问题。在
单击
处理程序中,
将引用已单击的元素,但是您希望如何针对特定的DIV
。result
结果
元素之间的关系是什么?您最好提供所有相关信息。)有问题的黎凡特代码。是否有多个
#like
按钮?
$(document).ready(function(e) {
    $("div.comments").on("click", "button.like", function(e) {
        $.ajax({
            type: "post",
            url: "<?php  echo ADDRESS ;?>thank.php",
            data: {
                like: $(this).attr("data-id")
            },
            success: function(data, textStatus, jqXHR) {
                $(this).siblings(".result").html(data);
            }
    });
});