如何在JSON中使用JS变量?
我正在尝试创建一个可以在页面上多次使用的邮政编码查找JQuery脚本,而不必为页面上的每个地址复制脚本。 Find按钮具有类“postcodeLookup”和属性“address”,这是我打算如何让脚本填充正确的地址(它使用JQuery Populate插件)&输入被命名为address [line1],其中“address”是可改变的(家庭[line1],办公室[line1]等)。如何在JSON中使用JS变量?
问题是如何让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');
});
var addrName = "office";
var address = {};
address[ addrName ] = {
line1: "First line",
line2: "Line 2..."
};
$("form").populate(address);
现在,当addrName
是office
,这将是一样写
address['office'] = { }
...这,又是完全一样的东西象写
address.office = { }
而那小小的知识将会成为immens非常有用的所有方面的JavaScript。
例如
for(var i = 0; i < 10; i++) {
window['var' + i] = i;
}
将实际创建的窗口对象10个变量(即公共变量)称为var0
,var1
,... var9
。
好吧,所以这不是非常有用,但你明白了。
完美,谢谢。 – bcmcfc 2010-07-01 09:48:10
您的第一个示例中的尾随逗号(在'line2'属性之后)将导致IE失败。 IE不喜欢悬挂逗号,无论是对象文字还是数组文字。 – 2010-07-01 09:52:43
@ T.J。克劳德:很对!我即将增加更多房产,但认为那些房产确实是非常重要的,所以我缩小了它的范围,但错过了逗号。接得好。 – 2010-07-01 09:57:40
也许你需要做这样的事情,通常jQuery插件这种方式工作:
line1: function(data) {return youVariable},
仅供参考,您不使用JSON那里,你正在使用JavaScript的对象文字符号。 JSON是对象文字表示法的一个*子集*,它更易于解析。 http://json.org – 2010-07-01 10:01:30