单击按钮之前执行jquery(this).remove

时间:2019-04-16 11:55:19

标签: javascript jquery ajax jquery-ui jquery-migrate

我有以下代码创建一个具有2个按钮Delete和Cancel的对话框。问题是tab.remove()是在调用deleteDashboard函数时执行的,但是应该在对话框中单击Delete Button后执行box。在jquery 1.4中工作正常。现在我将其更新为jquery 1.9.1,它显示了不同的行为。我的jquery.ui版本是1.8。

   var deleteDashboard = function(id, dash) 
          {
        var totalTabs = dash.find('ul.ui-tabs-nav:first 
                  li.tab').length;



        jQuery(opts.deleteDialog).dialog({
            bgiframe: true,
            resizable: false,
            height: 180,
            modal: true,
            overlay: {
                backgroundColor: '#000',
                opacity: 0.5
            },
            buttons: {
                Delete: function() {
                    var dlg = jQuery(this);
                    dlg.dialog('destroy');
                    jQuery.ajax({
                        url: opts.url + "/Deletesomething",
                        data: "{ Id: " + id + " }",
                        dataType: "json",
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        success: function(data) {
                            var tab = jQuery("li#id" + id);
                            var newTabId = data.d;
                            tab.remove();

                        }
                    });
                },
                Cancel: function() {
                    jQuery(this).dialog('destroy');
                }
            }
        });
    };

0 个答案:

没有答案