jQuery代码:返回两行。我认为这里的问题是因为TextArea id的双重性。这是怎么回事?
$('#btn').click(function() {
$getComment = $("#divComment").val(); //GET COMMENT
alert($getComment); //ALERT COMMENT
});
PHP代码:
<?php foreach($query as $querySHOW) {?>
<textarea id="divComment"><?php echo $querySHOW; ?></textarea> //GET COMMENT
<input type="button" id="btn"> //BUTTON CLICK
<?php } ?>
发布于 2018-07-24 13:21:45
首先,将事件处理程序绑定到一个类,以便它能够适应多个对象。第二,使用在循环中插入的安全标识符。我建议你使用“数据”属性。这是我的版本(测试)
$('.btncomment').click(function () {
$getComment = $("#divComment" + $(this).data('id')).val(); //GET COMMENT
alert($getComment); //ALERT COMMENT
});
PHP代码
<?php foreach ($query as $key => $querySHOW) { ?>
<textarea id="divComment<?php echo $key; ?>" >
<?php echo $querySHOW; ?>
</textarea>
<input type="button" data-id="<?php echo $key; ?>" class="btncomment" >
<br />
<?php } ?>
发布于 2018-07-24 14:13:29
是的,你是对的。每个页面不能有一个以上的id。每页的每个id都应该是唯一的。
你可以稍微改变一下你的逻辑。对于所有按钮,放入相同的类,然后根据这个新类添加一个事件侦听器。在此之后,你只需得到该按钮的相关评论即可。
下面是一个例子
JS码
$('.btnClass').click(function() {
var id = $(this).attr('id');
$getComment = $("#divComment"+id).val(); //GET COMMENT
alert($getComment); //ALERT COMMENT
});
PHP代码
<textarea id="divComment<?= $ct; ?>"><?php echo $querySHOW; ?></textarea> //GET COMMENT
<input type="button" class="btnClass" id="<?= $ct; ?>"> //BUTTON CLICK
https://stackoverflow.com/questions/-100005663
复制相似问题