jQuery 对话框 - 不会追加到表单



>我非常熟悉在将jQuery Dialogdiv设置为可见后将其附加到表单元素的技巧。我已经在 .NET 中这样做了一百次左右,它工作得很好!但是,我正在尝试在 Coldfusion 网站上执行此操作,这对我来说是第一次,它没有正常工作(即 - 它没有附加到表单元素)。我已经通过Firebug验证了这一点,所以我可以看到jQuery Dialogdiv在表单元素之外。

这是我的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 属性为"wtf"。是的,"wtf"目前纯粹是出于沮丧!

您错过了选择器的closing quote

改变

 dlg.parent.appendTo($("form:first));

 dlg.parent().appendTo($("form:first"));

作为 dlg 的父级将是您要附加到的形式。您可能需要重新考虑需要 dlg 的父级来附加。

 dlg.appendTo($("form:first"));

最新更新