使用一个函数而不是许多函数

时间:2012-02-17 13:20:20

标签: javascript

我有很多单独更新下拉选择框的图像。我一直在使用以下内容:(在每个图像的单独函数内更改replaceContent(数字)和不同的selectIndex =(数字))。

function replaceContent9() {
     document.getElementById("ecwid-productoption-8840317-Backgrounds")
             .selectedIndex = 0 ; } 

我这样称呼函数:

javascript:replaceContent9

我如何使用数组执行此操作,以便我可能只有一个用于所有图像的函数。到目前为止还不太擅长计算数组。也许有人可以指出我正确的方向或建议代码尝试。

1 个答案:

答案 0 :(得分:1)

我会使用哈希/查找对象:

var replaceContent = (function() {
    var info = {
        0:   'ecwid-productoption-8840317-Backgrounds',
        1:   'foobar-product',
        9:   'whhooott rage'
    };

    return function( which ) {
        document.getElementById( info[ which ] ).selectedIndex = 0 ;
    };
}());

由于索引键名称,此对象的当前形式看起来像javascript数组,但是对于更常用的用法,你应该这样做。

现在你可以像

一样调用这个函数
replaceContent( 9 );