在文档就绪时将jQuery UI对话框附加到ASP.NET表单

我有ASP.NET的jQuery UI对话框。 我在对话框中包含一个复选框列表。 因为它是一个“编辑页面”,所以已经检查了一些复选框,因为首次加载页面时从datatbase获取数据。

当我点击链接打开对话框时,我没有问题,一切都按预期工作。 但是,如果我没有单击链接打开对话框,则在提交表单时,不会从代码隐藏中选取这些复选框值。 我理解,因为当加载页面时,jQuery UI对话框将“div”附加到“form”元素之外的HTML主体。

//I'm trying to append dialog-dept to form on document ready like this but not yet working $("#dialog-dept").parent().appendTo($("form:first")); 

当页面首次加载时,如何使ASP.NET页面所需的“表单”标记的jQuery UI对话框成为一部分?

因为页面上还有许多其他字段,而不仅仅是那些复选框。 有时,可能不需要打开对话框来选择任何复选框。

只有当我点击链接打开对话框时,下面的代码才能正常工作。

  $(document).ready(function() { // Dialog Link $('#dialog_link_dept').click(function() { $('#dialog-dept').dialog('open'); return false; }); // Launch Dialog $('#dialog-dept').dialog({ autoOpen: false, width: 700, modal: true, open: function(type, data) { $(this).parent().appendTo("form"); } }); });  

您可以在创建后立即将其移动到

,即使它是autoOpen: false ,如下所示:

  $('#dialog-dept').dialog({ autoOpen: false, width: 700, modal: true }).parent().appendTo("form"); 

我想这种方式形成modal dialog:

$(“#dialog-dept”)。dialog({height:300,width:250,modal:true,appendTo:“form”,title:“Title”,show:{effect:“fade”,duration:500} ,隐藏:{效果:“折叠”,持续时间:500}});

并为我工作