2015-12-18 3 views
2

Вы можете использовать диалоговое окно боксировал вернуть переменную в JavaScript, таких как:Определение результата диалога jquery. Присвоение результатов диалога с переменной

//sets variable as false 
var shouldIngest = false; 
//depends if cancel, ok, or the "x" is clicked 
shouldIngest = confirm("Do you want to ingest?"); 

if(shouldIngest) { 
    //do some things... 
}else{ 
    //do something else... 
} 

Я хочу использовать jQuery UI dialog я могу лучше настроить/STYLE окно подтверждения немного. Как я могу достичь того же с диалоговым окном jQuery UI? Я хочу зафиксировать результат диалога для var shouldIngest. Код ниже не работает.

var shouldIngest = false; 

$('#ingestConfirmDialog').html('Do you want to Ingest this document into the form?'); 
shouldIngest = $('#ingestConfirmDialog').dialog({ 
    modal : true, 
    draggable : false, 
    buttons : { 
     "Yes Ingest this Docx" : function() { 
      $(this).dialog("close");  
     }, 
     "Just Add as Attachment" : function() { 
      $(this).dialog("close"); 
     } 
    } 

});

Что можно сделать, чтобы исправить это? Заранее спасибо.

+0

Просто введите код, который вы хотите запустить для «да» и «нет» внутри этих функций обратного вызова кнопки. – Pointy

ответ

1

Просто установите переменную в кнопке обратных вызовов:

buttons : { 
    "Yes Ingest this Docx" : function() { 
     shouldIngest = true; 
     $(this).dialog("close");  
    }, 
    "Just Add as Attachment" : function() { 
     shouldIngest = false; 
     $(this).dialog("close"); 
    } 
} 

Или, так как вы используете кнопки, чтобы определить, следует ли выполнить какое-либо действие, просто пропустить установки флага и просто выполнить действие:

buttons : { 
    "Yes Ingest this Docx" : function() { 
     callYouIngestionMethod(); 
     $(this).dialog("close");  
    }, 
    "Just Add as Attachment" : function() { 
     // just close the dialog    
     $(this).dialog("close"); 
    } 
} 
Смежные вопросы