我有一个PHP表,它是从MySQL表中查询的。
<table>
<tr>
<th>Sl</th>
<th>ID</th>
<th>Article Name</th>
<th>Publish Status</th>
</tr>
<?php
$i = 1;
foreach ($obj->showAllFromTable('pattern') as $pattern) {
extract($pattern);
?>
<tr>
<td><?php echo $i++; ?></td>
<td><?php echo $id; ?></td>
<td><?php echo $pattern_name; ?></td>
<td id="publish_<?php echo $id; ?>" class="status_pattern">
<?php echo $publish; ?>
</td>
</tr>
<?php
}
?>
</table>
我想通过点击相应文章行的“发布”单元格来更改任何文章的状态。我正在尝试使用jquery的ajax方法来实现此目的,如下所示:
<script type="text/javascript">
$(document).ready(function(){
$('.status_pattern').click(function(){
var thisid = $(this).attr('id');
$.ajax({
url: "status_change_pattern.php",
data: {
id: thisid
},
success: function (response) {
alert(response);
}
});
});
});
</script>
在“成功”块中,我想创建一个功能来更改我单击的特定单元格的文本,而不是“alert”。 “status_change_pattern.php”只有一个文本“嘿嘿”。 有人可以帮忙吗?请。 感谢。
答案 0 :(得分:0)
你需要写,
success: function (response) {
$(thisid).html(response);
}
作为回应,您需要获得新状态。
答案 1 :(得分:0)
您必须使用closure
来保留ID。
<script type="text/javascript">
$(document).ready(function(){
$('.status_pattern').click(function(){
var thisid = $(this).attr('id');
$.ajax({
url: "status_change_pattern.php",
data: {
id: thisid
},
success: function (id) {
return function (response) {
$("#" + id).html(response);
}
}(thisid)
});
});
});
</script>
答案 2 :(得分:0)
SajithNair提供的解决方案有效。感谢SajithNair。但它也可以在不使用闭包的情况下完成。如下图所示:
$('.status_pattern').click(function() {
var thisid = $(this).attr('id');
$.ajax({
url : "status_change_pattern.php",
data : {
id : thisid
},
success : function(response) {
$('#' + thisid).html(response);
}
});
});
由于