首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery从函数获取全局值

jquery从函数获取全局值
EN

Stack Overflow用户
提问于 2011-07-08 21:12:17
回答 4查看 796关注 0票数 0

嗨,我有一个问题,试图在jQuery,AJAX和jQuery用户界面创建金额计算器。但是我有一个问题,我从滑块,选择框中获取所有的导入值。但是我真的不知道怎样才能把这个值变成全局的。我只在每个函数中获得值,但是当我想从函数中获得这个值时,变量中的这个值并不存在。

代码语言:javascript
复制
$(function() {
    //1st slider for get amount
    $("#amount").slider({
        range: "min",
        value: 0,
        min: 0,
        max: 10000,
        slide: function (e, ui) {
            $("#amount_show").val(ui.value);
            amount = ui.value;
            }
    });
    $("#amount_show").val($("#amount").slider("value"));

    //2nd slider for get values years
    $("#years").slider({
        range: "min",
        value:1,
        min:1,
        max:20,
        step:1,
        slide: function (e, ui) {
            $("#years_show").val(ui.value);
            years = ui.value;
            }
    });
    $("#years_show").val($("#years").slider("value"));

    //AJAX for loading values from xml
    $.get("irate.xml", function(xml) {
            $(xml).find('country').each(function() {

                var select = $('#country'),
                    id = $(this).attr('id'),
                    name = $(this).find('name').text(),
                    irate = $(this).find('irate').text(),
                    currency = $(this).find('currency').text();

                select.append("<option value='"+irate+"'>"+name+"</option>");
        });
    });

    //get irate value from dropbox
    $("#country").change(function() {
        var irate_select = "";
        $("#country option:selected").each(function () {
            irate_select += $(this).val() + " ";
            });
            irate = irate_select;
        });
});

我需要计算数量,年限和愤怒。

谢谢你的建议。

EN

回答 4

Stack Overflow用户

发布于 2011-07-08 21:15:05

在函数外部声明变量。

例如。

代码语言:javascript
复制
var amount;

$(function...
票数 4
EN

Stack Overflow用户

发布于 2011-07-08 21:37:27

AndyL的答案应该是正确的。

如果您声明所需的变量在函数外部的另一个函数中可用,然后在一个函数中设置它们的值,则它们应该与这些值一起在另一个函数中可用。

代码语言:javascript
复制
// outside your function!!
var amount,
    years,
    irate;

// in your function somewhere!!
amount = someCalculation();
years = someOtherCalculation();

这些值将在所有其他函数中可用,因为它们被声明为全局命名空间的成员。

票数 1
EN

Stack Overflow用户

发布于 2011-07-08 21:44:39

尝试使用jquery的data()对象;

代码语言:javascript
复制
$(function(){
...

slide: function (e, ui) {
    $("#amount_show").val(ui.value);
    amount = ui.value;

    // Add to data() object here
    $('#amount').data('amount',amount);
}

// reference it elsewhere in your script like such:
console.log($('#amount').data('amount'));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6624921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档