1

我正在使用由 Raphael 构建的 svg,并使用表单使其部分可编辑。

我有类似于以下的路径变量:

uk.isle_of_man
uk.republic_of_ireland
uk.england

和输入字段,如:

<input id="england-form" type="text" name="england">

我正在使用以下代码根据选择的输入字段更新填充。它对 id 工作正常,但我正在做一些愚蠢的事情var b = $(this).attr("name");并试图用它来定位变量属性。这是代码:

$('#form').find('input').focus(function(){
var a = $(this).attr("id");
var b = $(this).attr("name");

$('#'+a).live('change', (function() {
    var value = $(this).val();
    uk.(b).color = (value);
}));

我的意图是uk.(b).colorto 等同于uk.england.color. 知道我做错了什么吗?如果我使用这种uk.england格式,一切都很好。

4

1 回答 1

1

当你使用.它时,它会搜索一个名为binside的属性uk
要搜索变量值,您必须使用[].

所以,如果我有以下对象。

var 'uk' = {
    'england': {
        color: 'green'
    },
    'b': {
        color: 'wrong'
    }
};

当我使用uk.(b).color. 我明白了'wrong'
得到'green'使用uk[b].color

于 2012-12-03T19:37:02.567 回答