2つのjQueryUIダイアログ(互いに関連はありませんが、どちらもこの動作を示しています)があり、最初に開いたり閉じたりしたときに完全に動作します。再開することはありませんが、初めて閉じた場合。以下はそれらの1つのコードであり、もう1つは同じ構造です。'destroy()'または'remove()'をどこでも呼び出していないので、これらが正しく機能しない理由がわかりません。これが私のコードです:
$(".qr_link").click(function(){
openQr(this);
});
function openQr(that){
var title = $(that).parent().parent().children("p.resume-name").text();
var qr = $(that).parent().parent().children(".qr_image");
$(qr).dialog({
title: title,
width: 'auto',
height: 'auto',
modal: true
});
}
私のマークアップ:
<div class="resume">
<p class="resume-name"><%= link_to(offer.name, public_url(offer.public_id, :host => ApplicationSetting.short_domain, :params => {:rid => @recruiter_id})) %></p>
<p id="resume_links">-
<%= link_to("QR", "#", :class => "qr_link") %>
<%= link_to("X", "#", :class => "remove_link") %>
<%= link_to("Preview", "#", :class => "preview_link") %>
</p>
<%= qr_image(public_url(offer.public_id, :host => ApplicationSetting.short_domain, :params => {:rid => @recruiter_id}), "200x200", "hide qr_image")%>
<p class="resume-tags"><span class="resume-tags-label">Tags: </span><span class="resume-tags-value">
<%= offer.tags.join(", ") %>
</p>
<p class="resume-description"><%= offer.description %></p>
</div>
前もって感謝します。
アップデート
そのため、最初は、ページの読み込み時にqr画像を読み込みますが、非表示にします。ダイアログには問題なく表示されますが、ダイアログが表示されると、qr画像がHTMLから削除されます。ですから、再フォーマットされた質問は、「なぜ私のQRコードが削除されるのですか?」ということだと思います。