Передача значения в диалоговое окно jQuery UI с функцией
Это мой документ.готовый код:
$(document).ready(function() {
$("#dialogbox").dialog({
open: function(event, ui) {$("a.ui-dialog-titlebar-close").remove();},
bgiframe: true,autoOpen: false,closeOnEscape: false,draggable: false,
show: "drop",hide: "drop",zIndex: 10000,modal: true,
buttons: {'Ok': function() {$(this).dialog("close");processEmp();}}
});
});
у меня есть следующий код JavaScript, который принимает один параметр:
function test(pEmp)
{
var a = pEmp.value);
$('#dialogbox').dialog('open');
}
мой вопрос, основанный на значении, которое я передаю в свою тестовую функцию, которая, в свою очередь, вызывает мой диалог jQuery UI ('#dialogbox'), когда пользователь нажимает кнопку "ОК" в диалоговом окне, мне нужно как-то (что я не уверен, как это сделать), передать переменную "a", которая содержит мой pEmp.значение, в мою другую функцию processEmp (a?), который я прикрепили к моей кнопке "ОК".
мне в основном нужно это значение, когда пользователь подтверждает диалоговое окно.
2 ответов
вы можете передать пользовательский параметр в диалог перед его открытием:
$(function () {
$("#dialog").dialog({
open: function (event, ui) { $("a.ui-dialog-titlebar-close").remove(); },
bgiframe: true,
autoOpen: false,
closeOnEscape: false,
draggable: false,
show: "drop",
hide: "drop",
zIndex: 10000,
modal: true,
buttons: { 'Ok': function () {
$(this).dialog("close");
processEmp($(this).data("pEmpValue"));
}
}
});
});
function processEmp(a) {
alert(a);
}
function test(pEmp) {
$("#dialog").data("pEmpValue", pEmp.value).dialog("open");
}
или даже самое простое решение-объявить a
переменная в области окна:
var a = null;
$(function () {
$("#dialog").dialog({
open: function (event, ui) { $("a.ui-dialog-titlebar-close").remove(); },
bgiframe: true,
autoOpen: false,
closeOnEscape: false,
draggable: false,
show: "drop",
hide: "drop",
zIndex: 10000,
modal: true,
buttons: { 'Ok': function () {
$(this).dialog("close");
processEmp(a);
}
}
});
});
function processEmp(a) {
alert(a);
}
function test(pEmp) {
a = pEmp.value;
$("#dialog").dialog("open");
}
вы можете достичь этого, добавив обработчик событий для 'close'. Что-то вроде этого:--2-->
$("#dialogbox").bind("dialogclose", function(event, ui) { processEmp(a); });