在切换案例后,在选择器中获取另一个选项的变量

时间:2015-05-27 23:59:41

标签: javascript select switch-statement

我正在使用罗马日期计算器,在切换案例后,我无法从选择器中获取另一个选项的变量。

所以我有我的变量:

x = "J";

切换案例:

switch(document.getElementById('mySelector').selectedIndex) {

case 0:
    x = "J";
    break;
case 1:
    x = "K";
    break;
}

现在,虽然选择了案例1的选项,但我想得到案例0的变量x。

如果这太模糊,这是我的JSFiddle: https://jsfiddle.net/Hendrich/dkoLLwrz/6/

问题出在changeDayAmnt();

的底部

1 个答案:

答案 0 :(得分:0)

使其成为一个功能,以便您可以重复使用代码:

function foo(index) {
  var y = 'J';

  switch(index) {

    case 0:
      y = "J";
      break;
    case 1:
      y = foo(0);
      //do something else
      break;
    }

  return y;
}

x = foo(document.getElementById('mySelector').selectedIndex);

Haven没有对它进行测试,只是为了让你知道该去哪里。

希望这会有所帮助:)

编辑:

或者,正如@DavidTansey建议使用数组:

var foo = [
    {
        mName: "Mart.",
        ides: 15,
        nones: 7
    }, 
    {
        mName: "Mai.",
        ides: 15,
        nones: 7
    },
    //...
    {
        mName: "Ian.",
        ides: 13,
        nones: 5
    }
    //...
}];

mName = foo[index].mName;
ides = foo[index].ides;
nones = foo[index].nones;