我有这个对话框,当你点击图标时显示文件名。当我第一次单击它时,对话框将为空,然后我关闭它并重新打开对话框将显示名称(通过ajax)。然后,当我再次关闭对话框并单击其他文件图标时,它会显示第一个文件名。然后当我再次关闭它并重新打开它时,它将显示正确的文件名。为什么要这样做?
这是我的javascript
$('.edit').click(function(e){
e.preventDefault();
var auth = $(this).attr('id');
$.ajax({
type: 'POST',
url: 'ajax/edit_filename.php',
data: {auth:auth},
success: function(result){
filename = result;
}
});
$( "#dialog" ).dialog({
modal: true,
resizable: false,
title: 'Edit file name',
buttons: {
"Close": function() {
$(this).dialog("destroy");
$(this).dialog("cancel");
}
}
});
$('.ui-dialog-content').html('<input type="text" value="'+filename+'"/>');
});
答案 0 :(得分:0)
我弄清楚我做错了什么,我在得到ajax响应之前打电话给对话
这是正确的javascript,这件事发生在你身上
$('.edit').click(function(e){
e.preventDefault();
var auth = $(this).attr('id');
$.ajax({
type: 'POST',
url: 'ajax/edit_filename.php',
data: {auth:auth},
cache: false,
success: function(result){
filename = result;
}
});
$.post( "ajax/edit_filename.php", { auth:auth })
.done(function( data ) {
$( "#dialog" ).dialog({
modal: true,
resizable: false,
title: 'Edit file name',
buttons: {
"Close": function() {
$(this).dialog("destroy");
$(this).dialog("cancel");
}
}
});
$('.ui-dialog-content').html('<input type="text" value="'+data+'"/>');
});
});