簡體   English   中英

jQuery未指定錯誤IE

[英]jquery unspecified error IE

因此,IE給我帶來的問題,驚喜,驚喜...

我創建一個jquery對話框(Div3),然后在div3內顯示一個表(Div4)。 這在Firefox中工作正常。 但是,在IE中,它不會顯示div 3(彈出窗口)。 而是返回錯誤“未指定的錯誤”,並且僅顯示div4表。 代碼如下...

我相信錯誤在else語句中。

任何幫助表示贊賞。 謝謝!

function displayMid(count) {
        var x = $("#Pid"+count).text();
        var y = $("#PidSeries"+count).text();
        //alert(x);
        if (x == 0) {
            return;
        }
        else if (y == null || y == " " || y == "") {
            $("#inputDiv3").html("").dialog('destroy');
            $("#inputDiv3").dialog({
                title: 'You must add the Product before you can assign catalogs!!!',
                width: 500,
                modal: true,
                resizable: false,
                buttons: {
                    'Close': function() { $(this).dialog('close'); }
                }
            });
        }
        else {
        $("#inputDiv3").dialog('destroy');
        $("#inputDiv3").html('<div style="height:300px;overflow-y:scroll;"><div id="inputDiv4"></div></div>').dialog({
            title: 'Catalog for ' + $("#PidTitle"+count).text(),
            width: 500,
            modal: true,
            resizable: false,
            open:   $.get('content_backend_pub_pid.ashx', { cmd: 4, pid: x }, function(o) {
                        $("#inputDiv4").html(o);
                    }),
            buttons: {
                'Close': function() { $(this).dialog('close'); }
            }
        });

        }

    }

對此不確定,但我認為您應該將ajax調用的open:包裝在一個匿名函數中。

open: function(){ 
            $.get('content_backend_pub_pid.ashx', { cmd: 4, pid: x }, function(o) {
               $("#inputDiv4").html(o);
            });
},

通常,IE為錯誤指定行號。 您在那里進行了很多工作,請嘗試在單獨的行中將每個部分分解成自己的語句。 然后,您也可以在每行之間插入控制台日志。

通常,我喜歡創建一個新變量並將其分配給屬性,或者如果該屬性是一個函數,則可以創建一個新的局部函數。

問題似乎在您的開放功能中。 也許嘗試將其包裝在一個匿名函數中,如下所示:

        $("#inputDiv3").html('<div style="height:300px;overflow-y:scroll;"><div id="inputDiv4"></div></div>').dialog({
            title: 'Catalog for ' + $("#PidTitle"+count).text(),
            width: 500,
            modal: true,
            resizable: false,
            open:   function() {
                        $.get('content_backend_pub_pid.ashx', { cmd: 4, pid: x }, function(o) {
                            $("#inputDiv4").html(o);
                        });
            },
            buttons: {
                'Close': function() { $(this).dialog('close'); }
            }
        });

否則,“ get”將立即觸發,而不是實際打開對話框時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM