2017-01-11 2 views
0

Я играю с загрузочным столом и бутстрапом.BootstrapDialog не закрывает диалоговое окно

Когда я нажимаю в строке, мне нужно показать диалог с bootstrapDialog. Это хорошо работает.

Если я нажму «Да», мне нужно выполнить какой-то код и закрыть окно. Если CI лижет «Нет», я закрываю только окно.

Моя проблема в том, когда я нажимаю «Да», вызывается функция предупреждения, но диалог никогда не закрывается. Мне нужно закрыть диалог автоматически после возврата из вызываемой функции.

Что мне здесь не хватает?

Вот ссылка на тест: http://jsfiddle.net/aoh4yamr/10/

var data = [ 
    { 
     "name": "bootstrap-table", 
     "stargazers_count": "526", 
     "forks_count": "122", 
     "description": "An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3) " 
    }, 
    { 
     "name": "multiple-select", 
     "stargazers_count": "288", 
     "forks_count": "150", 
     "description": "A jQuery plugin to select multiple elements with checkboxes :)" 
    }, 
    { 
     "name": "bootstrap-show-password", 
     "stargazers_count": "32", 
     "forks_count": "11", 
     "description": "Show/hide password plugin for twitter bootstrap." 
    }, 
    { 
     "name": "blog", 
     "stargazers_count": "13", 
     "forks_count": "4", 
     "description": "my blog" 
    }, 
    { 
     "name": "scutech-redmine", 
     "stargazers_count": "6", 
     "forks_count": "3", 
     "description": "Redmine notification tools for chrome extension." 
    } 
]; 

$(function() { 
    $('#table').bootstrapTable({ 
     data: data 
    }); 
}); 

function commonFormatter(value) { 
    return '<div data-field="' + this.field + '">' + value + '</div>'; 
} 


window.commonEvents = { 

    'click div': function (e) { 
function doFunctionEditForYes() { 
    alert("ok"); 
       }; 

BootstrapDialog.show({ 
         title: 'Hello', 
         message: 'Edit?', 
         buttons: [ { 
          label: 'Yes', 
          cssClass: 'btn-success', 
          action: function(dialogRef) { 
           doFunctionEditForYes(); 
           dialogRef.close; 
          } 
         }, { 
          label: 'No', 
          cssClass: 'btn-warning', 
          action: function(dialogItself){ 
           dialogItself.close(); 
         } 
         }] 
        }); 
    } 
} 
+0

Как говорится в вопросе, ему нужен код для запуска затем закрыть диалоговое окно. –

+0

@ Ивана Бараева Когда я нажимаю в таблице строк, появляется диалоговое окно начальной загрузки. Затем я нажимаю «Да», после чего появляется предупреждение («ОК»). Вернувшись в диалог Boootstrap, я могу закрыть его, если я нажму на (x) диалогового окна. Диалог должен автоматически закрыться после возврата из предупреждения. –

ответ

2

Вы просто используете dialogRef.close

     buttons: [ { 
         label: 'Yes', 
         cssClass: 'btn-success', 
         action: function(dialogRef) { 
          doFunctionEditForYes(); 
          dialogRef.close; 
         } 

должно быть dialogRef.close();

     buttons: [ { 
         label: 'Yes', 
         cssClass: 'btn-success', 
         action: function(dialogRef) { 
          doFunctionEditForYes(); 
          dialogRef.close(); 
         } 

Вы пропустили() только - чуть было это

обновленный скрипку http://jsfiddle.net/xh3xhgb3/

+1

Спасибо. Это все. –

+0

Это достаточно простая ошибка. Я делаю это много лет и всегда пропускаю скобки и другие мелочи еще :) –