Jquery UI对话框附加到Div

时间:2013-09-27 07:42:08

标签: jquery-ui

我正在使用下面的代码创建一个Jquery-UI对话框。

 var dynDiv = document.createElement("div");
       document.getElementById("divparent").appendChild(dynDiv);
      dialog_box(dynDiv, buttons);


      function dialog_box(dynDiv, dialog_buttons) {    
        $.each(dialog_buttons, function (index, props) {
            $("#" + dynDiv.id).append('<span id="btn' + dynDiv.id + props.id + '">' + props.text + '</span>');
            $('#btn' + dynDiv.id + props.id).button().on("click", {
                param: props,divid: dynDiv.id
            }, props.handler);


        });


    $("#" + dynDiv.id).dialog({
        modal: true,
        appendTo: "#divparent",
        show: "puff",hide: "explode",resizable: true,closeOnEscape: false,
        minWidth: 200, 
        minHeight: 150

    });        

http://jsfiddle.net/DOmEl/qNGEw/41/ 根据这个,应该创建一个jquery对话框并附加到 divparent 。但它没有按预期追加,它创建了一个单独的节点并形成了对话框。任何人都可以找出我做错的地方吗?

1 个答案:

答案 0 :(得分:2)

对话框实际上是附加到#divparent1。 问题似乎是它的立场是绝对的。

尝试将#divparent的位置更改为absolute再次应用此修复:

$("#" + dynDiv.id).dialog({
    modal: true,
    appendTo: "#divparent1",
    show: "puff",
    hide: "explode",
    resizable: true,
    closeOnEscape: false,
    minWidth: 200,
    minHeight: 150,
    position: { my: "left top", of: "left top"}
});

您可以在此处查看结果:http://jsfiddle.net/qNGEw/46/