【发布时间】:2010-06-08 21:31:07
【问题描述】:
所以我在某种 CRUD 界面中有一个包含巨大表格的页面。跨度中的每个链接都调用一个 jQuery UI 对话框表单,该表单从另一个页面获取它的内容。当发生的动作(在本例中为创建)完成时,它会将生成的新数据附加到表中并强制使用表。这一切都发生在 JS 和 DOM 中。
问题在于,新表格行的 CRUD 链接实际上并没有触发对话表单的创建,因为跨度中的所有原始链接仅在 document.ready 上进行扫描,并且由于我没有重新加载页面,所以看不到新链接。
代码如下:
$(document).ready(function() {
var $loading = $('<img src="/images/loading.gif" alt="Loading">');
$('span a').each(function() {
var $dialog = $('<div></div>')
.append($loading.clone());
var $link = $(this).one('click', function() {
// Dialog Stuff
success: function(data) {
$('#studies tbody').append(
'<tr>' +
'<td><span><a href="./?action=update&study=' + data.study_id + '" title="Update Study">Update</a></span></td>' +
'</tr>'
);
fdTableSort.init(#studies); // This re-sorts the table.
$(this).dialog('close');
}
$link.click(function() {
$dialog.dialog('open');
return false;
});
return false;
});
});
});
基本上,我的问题是,是否有任何方法可以触发 jQuery 重新评估页面链接而不强迫我刷新浏览器页面?
【问题讨论】:
标签: jquery dialog append reload