在jQuery成功函数上查找特定DOM
“我的页面”循环可编辑和更新的数据库值,无需通过ajax刷新。 逻辑运行得很好,但我无法正确地获得成功信息。到目前为止,该消息会在所有具有类的div上闪烁。状态。。。我尝试过prevAll、parents、closest等,但无法使消息仅显示在单击的表单上在jQuery成功函数上查找特定DOM,jquery,dom,element,Jquery,Dom,Element,“我的页面”循环可编辑和更新的数据库值,无需通过ajax刷新。 逻辑运行得很好,但我无法正确地获得成功信息。到目前为止,该消息会在所有具有类的div上闪烁。状态。。。我尝试过prevAll、parents、closest等,但无法使消息仅显示在单击的表单上 $(document).ready(function() { $(".save").click(function (e) { var content = $(this).prevAll('
$(document).ready(function() {
$(".save").click(function (e) {
var content = $(this).prevAll('.editable').html();
var item = $(this).prevAll('.item').html();
$.ajax({
url: 'save.php',
type: 'POST',
data: {content: content, item: item},
success:function (data) {
if (data == '1'){
$(".status")
.addClass("success")
.html("Data saved successfully")
.fadeIn('fast')
.delay(3000)
.fadeOut('slow');
}
}
});
});
});
表单结构(请记住,它是循环的)
拯救
这是因为您没有指定要点亮的.status
PS:我修改了一些代码以使其在JSidle中工作,所以您需要进行调整
PS2:我建议你使用类名而不是ID,因为我猜它们会重复,ID应该是唯一的
$(document).ready(function() {
$(".save").click(function (e) {
var content = $(this).prevAll('.editable').html();
var item = $(this).prevAll('.item').html();
var statusItem = $(this).parents('.wrap').find('.status');
$.ajax({
url: '/echo/html',
type: 'POST',
data: {content: content, item: item},
success:function (data) {
//if (data == '1'){
statusItem
.addClass("success")
.html("Data saved successfully")
.fadeIn('fast')
.delay(3000)
.fadeOut('slow');
//}
}
});
});
});
您提到您希望在表单中显示消息,如下所示:“我尝试了prevAll、parents、closest等,但无法使消息仅显示在单击的表单上”。表格的代码在哪里?没有表格。我使用jquery实时编辑div并将结果发送到数据库@计算机艺术解决方案成功了!我知道你在那里做了什么。我知道有一个简单的方法可以找到它。状态div!谢谢你的帮助!
$(document).ready(function() {
$(".save").click(function (e) {
var content = $(this).prevAll('.editable').html();
var item = $(this).prevAll('.item').html();
var statusItem = $(this).parents('.wrap').find('.status');
$.ajax({
url: '/echo/html',
type: 'POST',
data: {content: content, item: item},
success:function (data) {
//if (data == '1'){
statusItem
.addClass("success")
.html("Data saved successfully")
.fadeIn('fast')
.delay(3000)
.fadeOut('slow');
//}
}
});
});
});