2

私は自分のコードを次のように使用します。関数 get_devcies_full は、ダイアログが既に開いている場合、これまでに 5 回呼び出されます。もう一度開かないでください。内容を更新するだけです。次は、javascript でエラーが発生したことをコーディングします。

初期化前にダイアログでメソッドを呼び出すことはできません。メソッドisOpenを呼び出そうとしました

function get_devcies_full(id,slno)
{
    $.post("user/get_full_device/" +id + "/" +slno,
        function(data) {
            var NewDialog = $('<div id="MenuDialog"></div>');
            if (NewDialog.dialog( "isOpen" )!==true){
                NewDialog.dialog({
                    modal: true,
                    title: "Title",
                    width :940,
                    height:600,
                }); 
            }
            NewDialog.html(data);
            var t = setTimeout(function () {get_devcies_full(id,slno);},5000);
        }
    );
}

私が問題を抱えている解決策を教えてください。

4

1 に答える 1

1

これを試して:

function get_devcies_full(id,slno)
{
    $.post("user/get_full_device/" +id + "/" +slno,
        function(data) {
            if(!($("#MenuDialog").length))//if this div created for first time
            {
                $(body).append('<div id="MenuDialog"></div>');//First time you have to append this in body  
            }
            if (!$('#MenuDialog').dialog('isOpen'))
            //Try if not works => if(!($("#MenuDialog").parents(".ui-dialog").is(":visible")))
            {
                $("#MenuDialog").dialog({
                    modal: true,
                    title: "Title",
                    width :940,
                    height:600    
                });
            }
            $("#MenuDialog").html(data);
            var t = setTimeout(function () {get_devcies_full(id,slno);},5000);
        }
    );
}
于 2013-03-06T10:00:35.357 に答える