Try removing the context option in your ajax config or try changing the context option to a DOM element instead of this.
EDIT
I think I know now where you went wrong. It may be because the $.ajax function has already been executed by javascript before your load function has first finished it's own ajax request. Try running your load function and then supply to it's 2nd parameter a callback function that creates the dialog and other stuffs. I removed the open option
open: function(event, ui) {
$('#dialog-content').load('myFile.html');
}
in your dialog initialization.
$('#dialog-content').load('myFile.html', function(){
$("#dialog-operations").dialog({
autoOpen: false,
title: "Search",
width: 800,
height: 500,
modal: true,
position: { my: "center center", at: "center center" },
close: function() {
$(this).dialog('close');
}
});
$("#search-client-button").click(function() {
$("#dialog-operations").dialog("open");
});
$.ajax({
url: "search.php",
data: $("#search-user-form").serialize(),
type: "GET",
context: this
}).done(function(data) {
$(this).closest('.ui-dialog-content').dialog('close'); // TEST
$("#dialog-operations").dialog( "close" ); // TEST
$(this).dialog("close"); // TEST
this.close(); // TEST
$(this).dialog().dialog("close") // TEST
});
});