我有ASP.NET的jQuery UI对话框。我在对话框中包含一个复选框列表。因为它是一个“编辑页面”,所以已经检查了一些复选框 因为首次加载页面时从datatbase获取的数据。
当我点击链接打开对话框时,我没有问题,一切都按预期工作。但是,如果我没有点击链接打开对话框,那些复选框 在提交表单时,不会从代码隐藏中获取值。我明白因为jQuery UI对话框将“div”附加到“form”之外的HTML body中 页面加载时的元素。
//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");
}
});
});
</script>
答案 0 :(得分:5)
您可以在创建后立即将其移至<form>
,即使它是autoOpen: false
,如下所示:
$('#dialog-dept').dialog({
autoOpen: false,
width: 700,
modal: true
}).parent().appendTo("form");
答案 1 :(得分:1)
我想这种方式形成模态对话框:
$(“#dialog-dept”)。dialog({height:300,width:250,modal:true,appendTo:“form”,title:“Title”,show:{effect:“fade”,duration :500},隐藏:{效果:“弃牌”,持续时间:500}});
并为我工作