简体   繁体   English

使用 <select>带有转换语句的标签(Java和HTML)

[英]Using <select> tags with a Switch statment (Java and HTML)

I am creating a calculator for a game and I want to use a drop down menu to select a value in a switch statement; 我正在为游戏创建一个计算器,并且想使用下拉菜单在switch语句中选择一个值; although it doesn't seem to be working, it always returns 0. Can anyone see where I went wrong? 尽管它似乎不起作用,但始终返回0。有人可以看到我出了错吗? Also I am fairly new to java and html so sorry if there is a dumb mistake. 另外,我对Java和html还是很陌生,所以如果出现愚蠢的错误,我们深感抱歉。

http://jsfiddle.net/1r177khr/ http://jsfiddle.net/1r177khr/

Here is my html: 这是我的html:

<form onsubmit="return calcDarkTroops(0);" style="display: inline;">
<!-- Title of Form /--> <font>Level</font> 
<!-- Gets Input /-->
<select id="minionlevel_input">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    <option>6</option>
</select>
<!-- Calls 'calcDarkTroops' /-->
<input type="button" value="Calculate" onclick="calcDarkTroops();">
<!-- Outputs result /--> <span id="minioncost_result"> = 0 Dark Elixer</span>

Here is my Java: 这是我的Java:

calcDarkTroops = function () {
 var minionlevel = Number(document.getElementById("minionlevel_input").value);
 String maxString;
 switch (minionlevel) {
     case 1:
         maxString = "200,000";
         break;
     case 2:
         maxString = "190,000";
         break;
     case 3:
         maxString = "170,000";
         break;
     case 4:
         maxString = "140,000";
         break;
     case 5:
         maxString = "100,000";
         break;
     case 6:
         maxString = "0";

     document.getElementById("minioncost_result").innerHTML = "= " + Math.round(maxString * 100) / 100 + " Dark Elixer";

                        }

Try providing the value attribute to your select option and also consider providing default option, 尝试为您的选择选项提供value属性,并考虑提供默认选项,

<select id="minionlevel_input">
    <option value="0">Select</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
</select>

FIDDLE 小提琴

Try this: 尝试这个:

<form style="display: inline;">
<!-- Title of Form /--> <font>Level</font> 
<!-- Gets Input /-->
<select id="minionlevel_input">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    <option>6</option>
</select>
<!-- Calls 'calcDarkTroops' /-->
<input type="button" value="Calculate" onclick="return calcDarkTroops(document.getElementById('minionlevel_input').value)">
<!-- Outputs result /--> <span id="minioncost_result"> = 0 Dark Elixer</span>

<script>
 function calcDarkTroops(minionlevel) {
   var maxString;
   switch (minionlevel) {
     case '1':
         maxString = "200,000";
         break;
     case '2':
         maxString = "190,000";
         break;
     case '3':
         maxString = "170,000";
         break;
     case '4':
         maxString = "140,000";
         break;
     case '5':
         maxString = "100,000";
         break;
     case '6':
         maxString = "0";
         break;    
   }
     document.getElementById("minioncost_result").innerHTML = "= " + Math.round(parseInt(maxString) * 100) / 100 + " Dark Elixer";

} }

See this fiddle 看到这个小提琴

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM