を使用して編集ユーザー情報を取得するユーザー情報編集ダイアログを作成しています$.post
が、HTML 要素を使用してダイアログが初期化されていないため、このダイアログを閉じることができません。
私は試し$('#editUser').dialog('close')
ていますが、うまくいきません。
以下が本体です。
<div id='userInfo'>
<div class='user'>
<span class='userId'>1</span>
<span class='userName'>John</span>
</div>
<div class='user'>
<span class='userId'>2</span>
<span class='userName'>Jane</span>
</div>
ダイアログの作成に使用されるスクリプトは次のとおりです。
$(function() {
$('.user').click(function() {
var uid = $(this).find('span.userId').html();
$post('/e-val/user/edit.php', {id: uid}, function(html) {
$(html).dialog();
});
});
$('body').on('click', '#closeEditDialog', function() {
$('#editUser').dialog('close')
});
});
ダイアログは期待どおりに正常に開きますが、正常に閉じません。
これは、ajax スクリプトによって返されるダイアログの HTML です。
<div id='editUser'>
<table>
<tr>
<td>Username</td>
<td><?php echo $user['name'] ?></td>
</tr>
<tr>
<td>Email</td>
<td><?php echo $user['email'] ?></td>
</tr>
<tr>
<td colspan='2'>
<input type='button' id='closeEditDialog' value='close' />
</td>
</tr>
</table>
</div>
閉じるにはどうすればよいですか?ダイアログを削除するために使用できます$('#editUser').remove()
が、削除するのではなく閉じる必要があります。