私は第2ダイアログ(user.html)をロードするためのダイアログ(users.html)を持っています。私が2番目のダイアログを閉じるとエラーが出ます。 qualcusoは私を助けることができますか? ありがとうございます!未解決のJQueryダイアログ:エラー:初期化の前にダイアログでメソッドを呼び出すことができません。メソッド 'close'を呼び出そうとしました
ファイルusers.html:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<title>Users...</title>
</head>
<body>
<div>
<div id="div_users" title="Users...">
<button id="btn_user">User</button>
</div>
<div id="div_users_user" >
</div>
</div>
</body>
<script type="text/javascript">
$('#div_users').dialog({
width: 500,
height: 400,
modal: true,
resizable: true,
autoOpen: true,
close: function(event, ui){
console.log('close Users');
$('#div_users').dialog('destroy').remove();
},
buttons: {
"Close": function(event, ui) {
$(this).dialog("close");
}
}
});
$(document).ready(function() {
$("#btn_user").click(function() {
console.log("New");
$('#div_users_user').load('user.html');
});
});
</script>
</html>
ファイルのユーザーのhtml:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<title>User...</title>
</head>
<body>
<div id="div_add_edit_user" title="New User...">
<div id="div_user_main">
</div>
</div>
</body>
<script type="text/javascript">
$('#div_add_edit_user').dialog({
width: 'auto',
height: 'auto',
modal: true,
resizable: true,
autoOpen: true,
close: function(event, ui){
$('#div_add_edit_user').dialog('destroy').remove();
},
buttons: {
"Save": function() {
//TO DO..
$('#div_add_edit_user').dialog('close');
},
"Cancel": function(event, ui) {
$('#div_add_edit_user').dialog('close');
}
}
});
</script>
</html>
はありません。これが理由ではありません。試してみると、あなたはそれを見るでしょう。 – pigobyte
上記のコードで正確に言うと、間違いがたくさんあります。タグ「メタ」と「リンク」は閉じなければなりません。ボタンの初期化ダイアログは、http:// api.jqueryui.com/dialog/#option-buttonsで指定する必要があります。等々。これらのエラーを修正し、user.htmlファイルのjqueryおよびjqueryuiへの参照を削除しました。 – starmucks
ok ..私はあなたの提案に従ってコードを修正しました。これは現在動作しています。最後のいくつかの変更を修正してください。 – pigobyte