我不仅仅熟悉在将表单元素设置为可见之后将jQuery Dialog div附加到表单元素的技巧。我已经在.NET中完成了大约一百次,它运行得很好!但是,我试图在Coldfusion网站上进行此操作,这对我来说是第一次,并且它不能正常工作(即 - 它没有被附加到表单元素) 。我通过Firebug验证了这一点,所以我可以看到jQuery Dialog div在表单元素之外。
这是我的jQuery代码:
if ($) {
$(document).on("click", '#btnUpload', function ($e) {
// Show the jquery dialog plugin
var dlg = $('#divUpload').dialog({ modal: true, title: 'Photo/Image Upload', draggable: true, width: 700 });
dlg.parent.appendTo($("form:first"));
$e.preventDefault();
});
}
这是我的HTML / Coldfusion:
<form id="wtf" action="<cfoutput>#cgi.script_name#</cfoutput>" enctype="multipart/form-data" method="post">
<br />
<input type="button" id="btnUpload" name="btnUpload" value="Upload Image" />
<div id="divUpload" style="display: none;">
<br />
File to upload:
<br />
<input type="file" name="fileName" size="50" />
<br /><br />
<input type="submit" name="UploadFile" value="Upload" />
</div>
</form>
修改 我也试过了
dlg.parent.appendTo($('#wtf'));
但无济于事。请注意,表单的ID属性为&#39; wtf&#39;。是的,&#39; wtf&#39;现在纯粹是出于挫败感!
答案 0 :(得分:3)
您错过了选择器的closing quote
。
更改
dlg.parent.appendTo($("form:first));
要
dlg.parent().appendTo($("form:first"));
dlg的父级将是您要追加的形式。您可能需要重新考虑是否需要追加dlg的父级。
dlg.appendTo($("form:first"));