【发布时间】:2014-08-25 04:52:56
【问题描述】:
我想在 ajax 请求之后附加一个新条目。 这完美地工作。不幸的是,设计搞砸了,当我检查我的文档时,html 已经完美加载,但是例如尝试访问最近插入的数据状态属性总是失败。
我做错了什么?
$('.newRoomSubmit').click(function(){
if($.trim($('.roomName').val()) != "" && $.trim($('.roomDescription').val()) != "" && $.trim($('.building_id').val()) != "" ){
$('#myRoomModal').modal('hide');
$.ajax({
type : 'POST',
url : '@routes.Admin.saveNewRoom()',
data : {
roomName: $('.roomName').val(), roomDescription: $('.roomDescription').val(), building_id : $('.building_id').val()
},
success : function(data) {
var newReference = reference.parent().parent().parent().children().eq(1).append(
'<div class="row">'+
'<div class="col-sm-3 col-xs-6"><b>'+$('.roomName').val()+'</b></div>'+
'<div class="col-sm-2 col-xs-7 col-sm-offset-7 text-right"> '+
'<button class="btn btn-sm btn-default editableRoom" data-status="'+parseInt(data,10)+';'+$(".roomName").val()+';'+$(".roomDescription").val()+';" data-toggle="modal" data-target="#roomEditModal"><span class="glyphicon glyphicon-pencil"></span></button>'+
'<button class="btn btn-sm btn-danger removableRoom" data-status="'+parseInt(data,10)+';'+$(".roomName").val()+'" data-toggle="modal" data-target="#confirmRoomDelete"><span class="glyphicon glyphicon-remove"></span></button>'+
'</div>'+
'</div>');
},
error : function(err) {
alert(err.responseText);
}
});
} else {
alert("Das Formular wurde nicht vollständig ausgefüllt!");
}
});
我插入后的设计是这样的,我添加了一个红框和两条红线作为插图,只是为了让你区分不同:
真正的问题是,在我插入之后,我点击了插入行中带有铅笔字形的按钮。当我的模态出现时,它没有将 html 的数据状态作为输入。但是当我在浏览器中检查该行时,我可以清楚地看到数据状态已正确添加到新行中。
这就是它的外观(上面一行的示例)。
为什么我的 jquery 有问题?
新插入行上铅笔图标的点击方法应该将值放入我的输入标签中,如下所示:
$('.editableRoom').click(function(w) {
w.preventDefault();
var statusCode = $(this).data('status');
var felder = statusCode.split(';', 3);
$('#roomEdit_id').val(felder[0]);
$('#roomEditName').val(felder[1]);
$('#roomEditDescription').html(felder[2]);
$('#editRoomSubmit').click(function(){
/** on click wird das modal versteckt und
der User bekommt wieder die neugeladene lab Seite zu sehen*/
$('#roomEditModal').modal('hide');
});
});
我在这里jQuery can't access append element 和Refresh DOM with jquery after AJAX call 进行了研究,但这似乎与我的问题无关。
在此先感谢 :), 非常感谢您的帮助:)!
【问题讨论】:
-
请在您实际尝试访问数据状态时再解释一下?
-
当我在“keine ahnung mehr”的新插入行(附加在 ajax succes 函数中)中单击带有铅笔图标的按钮时,会出现一个模式,该模式应该拆分我的数据放置在“数据状态”中并将其放入输入字段中,就像第二张图片所示。
-
只是为了确定这一点:点击应该发生在附加元素上?只是考虑事件委托可能存在的问题。
-
所以“newroomsubmit”添加了该行? penic 图标的点击方法看起来如何?
-
我将编辑我的帖子,以便您可以看到点击方法:)
标签: jquery html ajax appendchild