この問題は非常に一般的であるように思われ、他の人に有効だった提案されたすべての解決策を調査して試してみたところ、私にはうまくいきませんでした。追加するには、firebug もエラーを表示していません。
Jquery モーダル ダイアログを使用しています。ダイアログは、グリッドの列のリンクから開きます。問題は、一度しか開かれず、閉じるボタンでダイアログが閉じられないことですが、右上隅の (X) で閉じることができます。ただし、別の列の値に対してダイアログを再度開いても、ダイアログは開かれません (ただし、サーバー側のアクション クラスは実行されます)。助けてください。
関連コード: 親ページ (jsp)
<s:url id="testurl" action="openView"/>
<script type="text/javascript">
$(function(){
$("#dialogOne").dialog({
autoOpen: false,
title: 'Details',
modal:true,
width:970,
buttons: { "Close": function() { $(this).dialog("close"); } },
open: function(event, ui) { $(".ui-dialog-titlebar-close").show(); }
});
});
function formatLink(cellvalue, options, rowObject) {
return "<a href='#' onClick='javascript:openDialog("+cellvalue+");return false;'>" + cellvalue + "</a>";
}
function openDialog(number) {
$("#dialogOne").load("<s:property value="testurl"/>?Number="+number);
$("#dialogOne").dialog('open');
}
関連するグリッド列:
<sjg:gridColumn
name="number"
index="nsNumber"
title="View Action"
formatter="formatLink"
sortable="false"
width="80"
/>
私は ajax ソリューションを試しましたが、ドキュメントの準備ができて提案されたバリエーションが機能しませんでした。アクション openView は jsp を返し、そのページの div id がすべて一意であることを確認しました。Firebug はエラーを表示しません。ダイアログは 1 回だけ開き、ダイアログの [閉じる] ボタンで閉じることはできません。その後、ダイアログを開く (/reopen) ことができません。
ありがとうございました、