无法从jqgrid编辑表单中打开一个对话框,除非html直接输入对话框函数

时间:2015-10-23 18:31:31

标签: javascript jquery html jqgrid

我尝试了各种方式来描述" dialog-1"无济于事。如果从那里调用对话框函数,相同的代码作为页面正文的一部分工作正常。相同的代码在表单内部不起作用。

感谢您的帮助。

此功能显示对话框就好了。

function helpSThtml () {
$(function() {
    $( "<div id='dialog-1' title='Dialog Title goes here...'>This my first jQuery UI Dialog!</div>" ).dialog({
        height: 140,
        modal: true,
        open: function (event, ui) {
            $('.ui-dialog').css('z-index',950);
            $('.ui-widget-overlay').css('z-index',949);
        },
    });
});
}

此功能似乎什么都不做。

function helpSTvar () {
$(function() {
    $( "#dialog-1" ).dialog({
        height: 140,
        modal: true,
        open: function (event, ui) {
            $('.ui-dialog').css('z-index',950);
            $('.ui-widget-overlay').css('z-index',949);
        },
    });
});
}

</script>

<div id="dialog-1" title="Dialog Title goes here...">This my first jQuery UI Dialog!</div>
</head>

2 个答案:

答案 0 :(得分:2)

似乎div标签位于标题部分,它应该在正文中

<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <div id="dialog-1" title="Dialog Title goes here...">This my first
    jQuery UI Dialog!</div>

</body>
</html>

答案 1 :(得分:0)

试试吧!

  1. 您的<div>需要位于<body>而不是<head>;

  2. 在每个函数中都有$(function(){并不是一个好的实践,而是你应该这样做:

    function helpSTvar () {
        $( "#dialog-1" ).dialog({
            height: 140,
            modal: true,
            open: function (event, ui) {
                $('.ui-dialog').css('z-index',950);
                $('.ui-widget-overlay').css('z-index',949);
            },
        });
    }
    
    $(function(){
        helpSTvar(); // call one or more functions when document's ready
    });