javascript - 如何在对话框按钮函数中获取 JS 变量

标签 javascript jquery-ui get

我有一个对话框,对话框中有动态按钮。在每个按钮中,都会生成一个 $.get()

文件的路径部分是可变的,函数(将在成功时执行)也是可变的。

但我无法让它工作。控制台显示变量是 undefined。 我知道为什么,因为它在 function 中。但是我在全局设置了变量。

任何人都可以向我解释如何让这些变量起作用吗?

我将提供我的源代码,以便您明白我的意思。


源代码

    var dialog_buttons = {};

    for(var i=0;i<socialMediaServ.length;i++)
    {
        dialog_buttons["Upload naar "+socialMediaServ[i]]= function()
        {
            $("#wait-dialog").dialog(
            {
                modal: true,
                resizable: false, 
                draggable: false,
                width:305,
                height:125,
                my:'center',
                at:'center',
                open: function(){}
            });

            $.get("../includes/social/"+socialMediaServ[i]+"/upload.php",{functie: "checkUser", fotonaam: fotoNaam}, window['users_'+socialMediaServ[i]+'_check'], 'json');
        }
    };
    dialog_buttons["Sluiten"]= function() 
    {
        $(this).dialog("close");
    };
    $("#dialog-foto").dialog("option", "buttons", dialog_buttons);
    $("#dialog-foto").dialog("open");

变量 socialMediaServ 设置在我页面的顶部。 socialMediaServ 是一个数组,其中包含:Facebook,Twitter

非常感谢!

最佳答案

我确定我完全理解问题所在。我假设 $.get 中的 socialMediaServ[i] 值未定义。

我会尝试将每个数组值存储在循环范围内的变量中:

 for(var i=0;i<socialMediaServ.length;i++)
{
   (function(){
    dialog_buttons["Upload naar "+socialMediaServ[i]]= function()
    {
        $("#wait-dialog").dialog(
        {
            modal: true,
            resizable: false, 
            draggable: false,
            width:305,
            height:125,
            my:'center',
            at:'center',
            open: function(){}
        });

        $.get("../includes/social/"+socialMediaServ[i]+"/upload.php",{functie: "checkUser", fotonaam: fotoNaam}, window['users_'+socialMediaServ[i]+'_check'], 'json');
    }
  })(i);
};

关于javascript - 如何在对话框按钮函数中获取 JS 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13375577/

相关文章:

c# - 用于验证 URL 或域名的正则表达式。

javascript - 如何在 Bootstrap 侧导航顶部显示 jQuery-ui 自动完成?

android - 解析 Httpurlconnection 得到响应

javascript - 如何取消绑定(bind) keyup 事件?

javascript - 为什么我的 Angular 数据绑定(bind)不会在 View 中更新?

javascript - GET 后 Vue.js 组件数据未更新

ruby-on-rails - Ruby on Rails 中带有 http.request 的 EOFError(到达文件末尾)

jquery - 带有 bootstrap/Jquery 的多级(最多 3 级)垂直菜单

jquery - 如何为两个 jquery ui 日期选择器设置语言

jQuery 提取 div 内的文本,但不在 p 标签中