如何在JSON中使用JS变量?

时间:2010-07-01 09:39:19

标签: jquery json

我正在尝试创建一个邮政编码查找JQuery脚本,该脚本可以在页面上多次使用,而不必为页面上的每个地址复制脚本。 Find按钮有“postcodeLookup”类和属性“address”,这就是我打算让脚本填充正确的地址(它使用JQuery Populate插件)&输入名为address [line1],其中“address”是可更改的(home [line1],office [line1]等)。

问题是如何获取填充地址的JSON以使用变量内容而不是文字“地址”?

//postcode lookups
$(".postcodeLookup").click(function(){
    alert("I am The Postcode Finder...\nPretending to find the address...\nFound it!");
    var address = $(this).attr('address');
    $("form").populate({
        address: {
            line1: "First Line of Addr.",
            line2: "Line 2!",
            line3: "Line 3 of The Address",
            postcode: "PO1 1PO"
        }
    });
    $(".addressArea").slideDown('fast');
});

2 个答案:

答案 0 :(得分:6)

var addrName = "office";
var address = {};

address[ addrName ] = {
   line1: "First line",
   line2: "Line 2..."
};

$("form").populate( address );

现在,当addrNameoffice时,这与撰写

相同
address['office'] = { }

...反过来,与写作完全相同

address.office = { }

这一小部分知识在javascript的各个方面都非常有用。

例如

for(var i = 0; i < 10; i++) {
    window['var' + i] = i;
}

实际上会在窗口对象(即公共变量)中创建名为var0var1,...,var9的10个变量。

好的,这不是非常有用,但你明白了。

答案 1 :(得分:0)

可能你需要做这样的事情,通常jQuery插件以这种方式工作:

line1: function(data) {return youVariable},