Php 如何在动态创建的id选择器上显示ajax结果?

Php 如何在动态创建的id选择器上显示ajax结果?,php,jquery,ajax,Php,Jquery,Ajax,我正在使用10和class='ThisOne'使用我的PHP代码- <?php for ($i=0;$i<=10;$i++) { ?> <div id=""> <input type="text" id="GetCommentText-<?php echo $i;?>"></input> <input type="hidden" id="GetPostID-<?php echo $i;?&g

我正在使用10
class='ThisOne'
使用我的PHP代码-

<?php      
for ($i=0;$i<=10;$i++) {
?>
<div id="">
    <input type="text" id="GetCommentText-<?php echo $i;?>"></input>
    <input type="hidden" id="GetPostID-<?php echo $i;?>" value="<?php echo $i;?>"></input>
    <button type="button" id="SelectPostComment-<?php echo $i;?>" data-target="<?php echo $i;?>" >Submit</button>
</div>
<div id="ShowAjaxesult-<?php echo $i;?>" class="Thisone" style="" ></div>
<?php
}
?>  
上述代码的问题是,当我单击任何
时,它会显示所有
(所有
带有
ShowAjaxesult-1
ShowAjaxesult-2
和….
ShowAjaxesult-10
)。我想根据其
id
选择器的值,在每次
单击时显示一个
。例如,选择
等时显示
。不知道我犯了什么错误。请帮助。

正在更改

                   $("[id^=ShowAjaxesult-]").html(data);
进入:

让它为我工作。

改变

                   $("[id^=ShowAjaxesult-]").html(data);
进入:


让它为我工作。

为按钮和输入添加一个类,您可以执行以下操作:

<script>
    $(document).ready(function() {
       $(".subBtn").click(function(){
           var $Parent = $(this).parent();
           var CommentText = $Parent.find('.getComment').val();
            var PostID = $Parent.find('.getPost').val();

           $.ajax( {
              type : 'GET',
              url:'test1.php',
              data : {CommentText: CommentText, PostID: PostID},
              success:function(data) {                               
               $Parent.next().html(data);
              }
           });
       });
    });
    </script>

$(文档).ready(函数(){
$(“.subBtn”)。单击(函数(){
var$Parent=$(this.Parent();
var CommentText=$Parent.find('.getComment').val();
var PostID=$Parent.find('.getPost').val();
$.ajax({
键入:“GET”,
url:'test1.php',
数据:{CommentText:CommentText,PostID:PostID},
成功:函数(数据){
$Parent.next().html(数据);
}
});
});
});

将类添加到按钮和输入中,您可以执行以下操作:

<script>
    $(document).ready(function() {
       $(".subBtn").click(function(){
           var $Parent = $(this).parent();
           var CommentText = $Parent.find('.getComment').val();
            var PostID = $Parent.find('.getPost').val();

           $.ajax( {
              type : 'GET',
              url:'test1.php',
              data : {CommentText: CommentText, PostID: PostID},
              success:function(data) {                               
               $Parent.next().html(data);
              }
           });
       });
    });
    </script>

$(文档).ready(函数(){
$(“.subBtn”)。单击(函数(){
var$Parent=$(this.Parent();
var CommentText=$Parent.find('.getComment').val();
var PostID=$Parent.find('.getPost').val();
$.ajax({
键入:“GET”,
url:'test1.php',
数据:{CommentText:CommentText,PostID:PostID},
成功:函数(数据){
$Parent.next().html(数据);
}
});
});
});

我不熟悉id^=语法,但您的选择器不够具体。您可以从按钮的id获取索引,如下所示:

var i = $(this).split('-')[1];
$("[id=ShowAjaxesult-"+i+"]").html(data);
然后将其附加到ajax结果div中,如下所示:

var i = $(this).split('-')[1];
$("[id=ShowAjaxesult-"+i+"]").html(data);
在旁注中,我发现使用“$Parent”作为变量名令人不安。您只是在这里混合了PHP语法,还是在前面添加一个美元符号并使第一个字母大写有什么意义

干杯


Jesse

我不熟悉id^=语法,但您的选择器不够具体。您可以从按钮的id获取索引,如下所示:

var i = $(this).split('-')[1];
$("[id=ShowAjaxesult-"+i+"]").html(data);
然后将其附加到ajax结果div中,如下所示:

var i = $(this).split('-')[1];
$("[id=ShowAjaxesult-"+i+"]").html(data);
在旁注中,我发现使用“$Parent”作为变量名令人不安。您只是在这里混合了PHP语法,还是在前面添加一个美元符号并使第一个字母大写有什么意义

干杯


Jesse

是否
CommentText
PostID
是正确的和预期的值?@Pankrates是。我得到了CommentText和PostID的正确值
CommentText
PostID
正确值和期望值?@Pankrates是的。我得到了CommentText和PostdHanks的正确值。这对我也有用。但是,正如@realseanp在他的回答中所建议的那样,使用类选择器会更好。谢谢。这对我也有用。但正如@realseanp在他的回答中所建议的那样,使用类选择器会更好。