我希望以动态的方式从js中获取php中的动态值...让我详细说明:首先我显示图像然后代码:
<div id="">
<table border="1" width="820" style="margin-left:15px;">
<tr>
<th>Sr #</th>
<th>Commented Post</th>
<th>Commenter Name</th>
<th>Commenter Email</th>
<th>Comments</th>
<th>Status</th>
</tr>
<?php
$values = array();
while($row= mysqli_fetch_assoc($res)) {
$values[] = $row['comment_id'];
?>
<tr align="center" style="height:50px;">
<td><?php echo $row['comment_id']; ?></td>
<td><?php echo $row['post_title']; ?></td>
<td><?php echo $row['comment_name']; ?></td>
<td><?php echo $row['comment_email']; ?></td>
<td><?php echo $row['comment_text']; ?></td>
<td>
<?php
if($row['status']==0) { ?>
<div class="status_<?php echo $row['comment_id']; ?>" id="status_<?php echo $row['comment_id']; ?>"><a href="#" style="border-bottom:dotted 2px #0033FF ; text-decoration:none">Unapproved</a></div>
<?php } else { ?>
Approved
<?php } ?>
</td>
</tr>
<?php }
?>
</table>
</div>
Js在这里:
<script type="text/javascript">
$(document).ready(function(){
var values = <?php echo json_encode($values); ?>;
var id = values[0];
$('.status_'+id).click(function(){
$("#status_"+id).html("<b>Test</b>");
});
var i = values[1];
$('.status_'+i).click(function(){
$("#status_"+i).html("<b>Test</b>");
});
});
</script>
我希望动态地在js中获取所有注释ID,以便在单击每个行链接时,它会更改为文本&#34;测试&#34; ...因为我手动编写了js代码。 ..我们如何在js中动态获取所有comment_id ...我希望你知道我想要做什么......
答案 0 :(得分:2)
为每个元素分配唯一ID是没有意义的。为什么不这样做:
<tr>
<td>...</td>
<td><a href="#" onclick="toggle(this, <?php echo $id ?>)">Unapproved</td>
</tr>
然后像
function toggle(node, id) {
node.parentNode.innerHTML = '<b>test</b>';
... do something with "id" value? ...
}
不需要getElementById,分配大量重复的id等等。只需要一个函数调用和一些DOM树遍历。
答案 1 :(得分:0)
你似乎没有真正使用ID。
您需要做的就是确定点击的元素,使用this
HTML:
<div class="status"><a href="#" style="border-bottom:dotted 2px #0033FF ; text-decoration:none">Unapproved</a></div>
JS:
$(document).ready(function(){
$('.status').click(function(){
$(this).html("<b>Test</b>");
});
});
答案 2 :(得分:0)
尝试在状态TD中添加一个类,例如<td class="status" data-id="<?php echo $row['comment_id'] ?>">// your inital value</td>
。
使用jQuery,您可以轻松监听附加到事件监听器的事件:
$(document).on('click', '.status', function() {
var id = $(this).attr('data-id');
$(this).html('<strong>Test</strong>');
// maybe to something with ajax?
$.ajax({
url: 'yourfile.php?call=doSomething&id=' + id,
type: 'post'
}).done(function(response) {
// console.log(response);
});
});