如何从Javascript

时间:2017-11-18 23:31:06

标签: javascript html events drop-down-menu switch-statement

现在,在你告诉我这是一个过于质疑的问题之前,我已经尝试过查看这个问题的多个版本,当我尝试他们的解决方案时,它们都不适合我。所以我会尝试直接帮助。

无论如何,我有一个下拉列表,其中包含美国各州,每个州都对应一项能源成本。我试图使其成为当用户选择状态时,Javascript代码检测到更改,找到所选选项的值,并根据该选择设置变量(在switch语句中声明)。

然而,问题是,无论我做什么,它都行不通。我不知道我是不是拼错了某些东西,或者我需要写一些我不了解的东西,但不管我做错了什么,它都行不通

这是HTML:

<div class="question">
      <p><b>In which U.S. state are you currently living in?</b></p>
      <select id="stateselect">
        <option value="choose" selected="selected">[none]</option>
        <option value="al">Alabama</option>
        <option value="ak">Alaska</option>
        <option value="az">Arizona</option>
        <option value="ar">Arkansas</option>
        /* Removed most of the options for sake of space*/
      </select>
    </div>

和Javascript:

var energyCost;
var state = document.GetElementById('stateselect');
function getEnergyCost() {
  switch (state.value) {
    case 'choose':
      energyCost = 0.00;
      break;
    case 'al':
      energyCost = 0.13;
      break;
    case 'ak':
      energyCost = 0.21;
      break;
    case 'az':
      energyCost = 0.12;
      break;
    case 'ar':
      energyCost = 0.10;
      break;
   /* Ditto */
  }
}
state.addEventListener('change', getEnergyCost, false);

有人会介意给我一些帮助吗?谢谢!

注意:我需要简单的Javascript中的答案,而不是jQuery。

2 个答案:

答案 0 :(得分:0)

您需要更改

"SELECT * FROM TABLE"

var state = document.GetElementById('stateselect');

var state = document.getElementById('stateselect'); 中的get上的首都使其无效。

答案 1 :(得分:0)

你有一个简单的拼写错误。它是getElementById,而不是getElementById