微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 将值传递到带有函数的jQuery UI对话框中

这是我的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"); 
}

原文地址:https://www.jb51.cc/jquery/150113.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐