以前のヘルプ (http://stackoverflow.com/questions/12224717/cant-execute-jquery-post-or-ajax-after-initial-run) のおかげで、クリック イベントの再バインドが正常に機能するようになりました。ただし、ダイアログ定義を再バインドできないようです。ここで他の回答を読むと、答えは「デリゲート」を使用することにあるようですが、私はそれを理解できないようです。ダイアログで更新されたコードは次のとおりです。
$('[id^="del"]').live('click', function(){
var valname = $(this).attr('id').split('del_');
$.post("delthis.php", {id: ""+valname[1]+""}, function(data) {
$("#dynamic_section").html(data);
});
return false;
});
$('[id^="thismodal"]').dialog({
autoOpen: false,
show: 'blind',
hide: 'explode',
width: '760',
resizable: false,
modal: true
});
// Dialog Link
$('[id^="mlink"]').live('click', function(e) {
e.preventDefault();
var valname = $(this).attr('id');
var sname = valname.split("mlink_");
var modal = "#thismodal" + sname[1];
$(modal).dialog('open');
//return false;
});
// html
// loop
<div>
<p>
<a href='#' id='del_<?php echo $row['id']; ?>'>Delete <?php echo $row['id']; ?></a><br />
<a href='#' id='mlink_<?php echo $row['id']; ?>'>Show Modal <?php echo $row['id']; ?></a>
<div id='thismodal<?php echo $row['id']; ?>'>
This is the modal showing element # <?php echo $row['id']; ?>
</div>
</p>
</div>
// end loop
ありがとうございました。