質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
jQuery UI

jQuery UI はjQuery公式のインターフェースライブラリであり、対話型のウェブアプリケーションを作る際に役立ちます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1965閲覧

jQuery のダイアログボックス閉じた後に関数実行する方法

HelpfulJp

総合スコア22

jQuery UI

jQuery UI はjQuery公式のインターフェースライブラリであり、対話型のウェブアプリケーションを作る際に役立ちます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2022/05/06 03:45

サイト内のボタンを押したときに、
jQueryのダイアログボックスを表示して
ダイアログボックスを閉じたときにjavascript内の
if (Qcnt == Question.length)を実行させたいのですが方法はありますか?

ダイアログボックス閉じたときの判定でjQuery('#dialog').dialog('isOpen')を
試したのですが正しい動かし方がわかりませんでした。
初歩的な質問ですがご回答お待ちしております。

jQuery

1let Qcnt = 0; 2let Q = document.getElementById('_question'); 3// 問題を表示するオブジェクトを取得する 4let A1 = document.getElementById('_ans1'); 5let A2 = document.getElementById('_ans2'); 6let A3 = document.getElementById('_ans3'); 7let A4 = document.getElementById('_ans4'); 8let A5 = document.getElementById('_ans5'); 9let lst= document.getElementById('last'); 10var $button = document.querySelector('.button') 11// 正解数を保持する値 12let Correct = 0; 13// 現在の問題数 14let Qcnt2 15// 問題を画面に表示する処理 16function Q_Set() { 17Qcnt2=Qcnt 18Qcnt2=Qcnt2+1 19Q.textContent = "問題"+Qcnt2+" : "+Question[Qcnt][0]; 20A1.textContent = Question[Qcnt][1]; 21A2.textContent = Question[Qcnt][2]; 22A3.textContent = Question[Qcnt][3]; 23A4.textContent = Question[Qcnt][4]; 24A5.textContent = Question[Qcnt][5]; 25lst.textContent=""; 26}; 27// 画面に表示 28Q_Set(); 29// 回答ボタンを押したときの処理 30function Answer_Check(ans) { 31var buttons = [ 32 { 33 text: "閉じる", 34 click: function () { $(this).dialog('close'); } 35 } 36 ]; 37if(ans == Question[Qcnt][6]) { 38// ダイアログを表示 39showDialog("回答", "正解! 答えは, "+ Question[Qcnt][6], buttons); 40Correct++; 41} else { 42// ダイアログを表示 43showDialog("回答", "不正解! 答えは, "+ Question[Qcnt][6], buttons); 44} 45if (Qcnt2 == Question.length) { 46Q.textContent = "問題は以上です. 正解数は" + Correct + "でした!"; 47A1.textContent = ""; 48A2.textContent = ""; 49A3.textContent = ""; 50A4.textContent = ""; 51A5.textContent = ""; 52lst.textContent = "このページを再読み込みすると, 問題を再チャレンジできます! "; 53document.getElementById('btn').style.visibility = 'hidden'; 54} else { 55// 画面に表示 56Qcnt++; Q_Set();}} 57function showDialog(title, message, buttons) 58{ 59 var html_dialog = '<div>' + message + '</div>'; 60 $(html_dialog).dialog({ 61 title: title, 62 buttons: buttons, 63 close: function() { $(this).remove();} 64 }); 65}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ダイアログを閉じたときに実行したい処理を、

js

1 close: function() { $(this).remove();}

ここで指定している関数の中に入れましょう。

投稿2022/05/06 03:55

int32_t

総合スコア20880

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

int32_t

2022/05/06 09:39

> close: function() { $(this).remove();hantei();} そんな感じで合ってると思いますよ。 全部のコードが開示されているわけではないっぽいので動かない原因は知りませんが、ブラウザの開発者ツールを活用してデバッグしてみてください。 追加の助言が欲しいようでしたら、インデントをちゃんと直してコードすべてを開示してください。
HelpfulJp

2022/05/06 13:52

ご返事ありがとうございます! うまく解決できました!デバッガで見たら不具合の原因わかりました。助かりました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問