此处点击链接后,获取相应的 ID ,但将状态更改为所有帖子。不在选定的项目
此处 html 代码
<div th:each="p : ${posts}">
<div id="para">
<a style="float: right;" href="#" class="decision"
th:text="${p.approved}">Approve</a>
<input type="hidden" class="pid" th:value="*{p.id}" />
</div>
</div>
当我点击批准链接时,获取id值是正确的。但更改状态会影响所有其他帖子
这是脚本
<script>
$(document).ready(function() {
$('.decision').click(function(e) {
$.ajax({
type : 'POST',
dataType : 'json',
url : '/RealEstate/ChangeStatus.html',
data : ({
pid :$(this).siblings('.pid').val()
}),
success : function(response) {
alert(response);
$('.decision').html(response);
/* $('.decision').text(response); */
},
error : function() {
alert('Error while request..');
}
});
});
});
</script>
和控制器
@RequestMapping("/ChangeStatus.html")
@ResponseBody
public String approvDisapprove(@RequestParam("pid") String pid) {
Gson gson = new Gson();
String data = null;
Property property = propertyDAO.findById(Integer.parseInt(pid));
if (property.getApproved() == true) {
property.setApproved(false);
data = gson.toJson("False");
} else {
property.setApproved(true);
data = gson.toJson("True");
}
propertyDAO.update(property);
return data;
}
如果你知道这个问题,请分享回答
答案 0 :(得分:4)
您需要使用this
引用,如下所示:
<script>
$(document).ready(function() {
$('.decision').click(function(e) {
$.ajax({
type : 'POST',
dataType : 'json',
url : '/RealEstate/ChangeStatus.html',
data : ({
pid :$(this).siblings('.pid').val()
}),
success : function(response) {
alert(response);
$(this).html(response);
^------^ // here use this instead of .decision selector
/* $('.decision').text(response); */
},
error : function() {
alert('Error while request..');
}
});
});
});
</script>
答案 1 :(得分:2)
<script>
$(document).ready(function() {
$('.decision').click(function(e) {
$.ajax({
type : 'POST',
dataType : 'json',
url : '/RealEstate/ChangeStatus.html',
data : ({ pid :$(this).siblings('.pid').val() }),
})
.done(function(response) {
alert(response);
$(this).text(response);
})
.fail(function() {
alert('Error while request..');
});
});
});
</script>