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

标签 jquery jquery-dialog

我非常熟悉将 jQuery 对话框 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 属性为“wtf”。是的,“wtf”纯粹是出于此刻的挫败感!

最佳答案

您错过了选择器的结束引号

改变

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

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

作为 dlg 的父级将是您要附加到的表单。您可能需要重新考虑是否需要附加 dlg 的父级。

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

关于jQuery 对话框 - 不会附加到表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14610650/

相关文章:

javascript - 如何更改范围 slider 以显示金钱?

jquery - .Net 6 中的 Asp.net Core 中的 Ajax Post 在 Action 方法中不起作用

使用 Google Analytics 进行 Javascript 覆盖/对话跟踪

javascript - 垂直对齐绝对工具提示元素

javascript - jquery 不适用于具有特定网页的 WebBrowser 控件

javascript - 淡出当前元素 淡入下一个元素并反向

jquery - DataTables 'Copy to Clipboard' (HTML5) 按钮不适用于 jQuery UI 对话框小部件

javascript - 如何隐藏 header.jsp 和 footer.jsp

javascript - 在 jQuery 的 css() 函数中使用 !important

jquery - jQuery 对话框中的 Knockout 'with' 绑定(bind)和 select2