2013-08-05 2 views
2

У меня есть всплывающее окно без кнопки «закрыть», поэтому мне нужно обновить страницу, чтобы закрыть всплывающее окно. В этом случае я хочу добавить кнопку в всплывающее окно для закрытия.EXT JS закрыть всплывающее окно

Вот код JS:

function oseGetWIn(id, title, width, height) 
{ 
    var win = Ext.create('Ext.window.Window', { 
     id: id, 
     name: id, 
     title: title, 
     width: width, 
     height: height, 
     closeAction:'destroy', 
     autoScroll:'true', 

    }); 
    return win; 
} 

Я попытался добавить следующее, но никакого эффекта.

bbar: [ 
     { 
      text: 'Close', 
      handler: function() { this.up('.window').close(); } 
     } 
     ], 
+0

попробуйте удалить '' .' из this.up ('окно') близко();. ' – MMT

+0

@MMT Привет, к сожалению, она не работает. я пропал без вести? –

+0

где добавлен 'bbar' ?, uit сокет на окне ..? – MMT

ответ

1

Селектор неправильно, оно должно быть просто window, который будет найти родителя с согласующим xtype.

+0

Привет, кажется, что он не работает, когда я удалял точку перед окном. –

0

Попробуйте

var win = Ext.create('Ext.window.Window', { 
    id: id, 
    name: id, 
    title: title, 
    width: width, 
    height: height, 
    closeAction:'destroy', 
    autoScroll:'true', 
    closable:true // add this attribute and you will get a close button on right top 
}); 

EDIT: Теперь попробуйте это:

var win = Ext.create('Ext.window.Window', { 
      id: id, 
      name: id, 
      title: title, 
      width: width, 
      height: height, 
      closeAction:'destroy', 
      autoScroll:'true', 
      closable:true, 
      bbar:[{ 
       text:'Close', 
       handler:function(){ 
        this.up('window').destroy(); 
       } 
      }] 
     }) 
+0

Привет, он по-прежнему не работает –

+0

Попробуйте приведенный выше код – Jacobian

+0

Привет, приятель, попробовал, все еще не работает –

1

Это должно работать:

var win = Ext.create('Ext.window.Window', { 
      title: 'test', 
      width: 400, 
      height: 200, 
      bbar:[{ 
       text:'Close', 
       handler: function(){ 
        win.destroy(); 
       } 
      }] 
     }) 

рабочий пример: http://jsfiddle.net/RdVyz/

-1

Попробуйте-й является in close handler

этот.up(). up(). close(); или этот.up(). Close();

0

Это, мне кажется, самый простой способ

var wind = Ext.WindowManager.getActive(); 

if(wind){ 
    wind.close(); 
} 
0

хммм ... до сих пор не ответила? решение просто

var win = Ext.create('Ext.window.Window', { 
     id: id, 
     name: id, 
     title: title, 
     width: width, 
     height: height, 
     closeAction:'destroy', 
     autoScroll:'true', 
     closable:true, 
     bbar:[{ 
      text:'Close', 
      handler:function(bt){ 
       bt.up('window').close(); 
      } 
     }] 
    }) 
Смежные вопросы