正确的技术在客户端解决这个问题?

时间:2014-06-09 21:59:59

标签: javascript jquery data-binding

我有一个已经复杂的表单,其中包含一个包含25个国家/地区的选择框,并且该表单上有3个输入,其默认值需要根据所选国家/地区进行更改。

该解决方案必须适用于IE 10和IE 11以及其他现代浏览器。

我遇到的问题是确定最合适的技术来实现这一目标。

我觉得在这种情况下Ajax是必要的,尽管它没有打折。

每行数据只包含以下值:

21,120,17,250;

其中21是country_id,因此,不需要加载大量数据。

我们已经在很大程度上依赖JQuery来进行大量的行为管理。

鉴于我面临的问题,有人能指出我正确的技术方向来应对这个问题,甚至是一个能让我先行一步的教程吗?

1 个答案:

答案 0 :(得分:2)

您可以将默认值存储在javascript对象中,并按国家/地区ID对其进行索引。

类似的东西:

var countryDefaults = {
    "21": {
        a: 120,
        b: 17,
        c: 250
    },
    "22": {
        a: 1,
        b: 2,
        c: 3
    }
    // ...
};

您可能需要在选择框中注册更改事件处理程序。捕获更改事件后,您只需要检索所选的国家/地区ID(可能在您选择的option标记上包含数据属性)。获得国家/地区ID后,您可以从countryDefaults哈希值countryDefaults[countryId])中检索默认值并更新输入的默认值。

具体技术是:HTML,Javascript和JQuery(尽管你可以在没有JQuery的情况下完成)。或者,您可以尝试使用支持数据绑定的MVC框架,例如EmberAngular

我希望这会有所帮助。