这是我的document.ready代码:
$(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’),当用户按下对话框中的’Ok’按钮时,我需要以某种方式(其中)是我不知道该怎么做),将保存我的pEmp.value的变量“a”传递给我的另一个函数processEmp(a?),我已将其附加到我的’Ok’按钮.
当用户确认对话框时,我基本上需要此值.
解决方法
您可以在打开之前将自定义选项传递给对话框:
$(function () { $("#dialog").dialog({ open: function (event,ui) { $("a.ui-dialog-titlebar-close").remove(); },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"); }
甚至最简单的解决方案是在窗口范围内声明一个变量:
var a = null; $(function () { $("#dialog").dialog({ open: function (event,buttons: { 'Ok': function () { $(this).dialog("close"); processEmp(a); } } }); }); function processEmp(a) { alert(a); } function test(pEmp) { a = pEmp.value; $("#dialog").dialog("open"); }