And*_*rew 14
这对我有用:
代码示例:
$('a.popup-modal').click(function(e){
var $modal = $(this).closest('form').find('.modal').clone();
$modal.dialog({
autoOpen: true,
close: function(event, ui){
$(this).remove();
}
});
});
Run Code Online (Sandbox Code Playgroud)
是的,这是一个"功能"......哈哈......不久就跑了进来.这里有一些'gotchyas',然后是一种真正的hackity处理它们的方式(虽然你计划有很多子表格,但效果很好):
关闭对话框后,下面的片段"克隆"对话框的内容,重命名其id属性,然后将更改的内容附加到"sub_form_container",从而在每次用户关闭对话框时生成一个全新的对话框/表单.希望这可以帮助!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<link type="text/css" href="ui.css" rel="stylesheet" />
<script type="text/javascript" src="j.js"></script>
<script type="text/javascript" src='ui.js'></script>
<script type="text/javascript">
$(document).ready(function() {
newDialogs(2);
});
function newDialogs(idCounter) {
$('#d1').unbind().bind('click', function() {
$('#d'+ idCounter.toString()).dialog({close: function(event, ui){
var newSubForm = $('#d'+idCounter.toString()).clone();
idCounter += 1;
newSubForm.attr('id', 'd'+idCounter.toString()).attr('class', '').attr('style', '');
$('#sub_form_container').append(newSubForm);
newDialogs(idCounter);
$('ui-dialog').remove()
}
});
});
}
</script>
</head>
<body>
<h1>Element above</h1>
<div>
<div id='d1'>Activate dialog</div>
<div id='sub_form_container'>
<div id='d2'>Dialog content <input type='text' /></div>
</div>
</div>
<h1>Element below</h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)