首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用javascript发布计算产品

用javascript发布计算产品
EN

Stack Overflow用户
提问于 2014-10-30 20:37:20
回答 2查看 42关注 0票数 0

我想知道是否有人能帮助我理解为什么我的代码没有执行用户输入变量的和以及将厘米转换为英寸并将结果读取到输入框的代码行。见代码:

代码语言:javascript
复制
<select id="option">
    <option value="option1">Select</option>
    <option value="option2">Centimeters/Inches</option>
</select>

Input Value:
    <ul class="input-list style-2 clearfix">
        <li>
         <input type="text" placeholder=":input" id="value">
         </li>
    </ul>

<button onclick="calcFunction()" class="myButton">Convert</button>

Result:
<ul class="input-list style-2 clearfix">
    <li>
    <input type="text" id="resultbox1">
     </li>
</ul>
<p style="text-align:center">
Equals
</p>
<ul class="input-list style-2 clearfix">
    <li>
     <input type="text" id="resultbox2">
     </li>
 </ul>

我的Javascript

代码语言:javascript
复制
<script>
var op1 = document.getElementById("option");
var value = document.getElementById('value').value;
var centimetersinches;

function calcFunction() {

        if (op1.options[op1.selectedIndex].value == 'option1') {
            document.getElementById('resultbox1').value = 'Select a value';
            document.getElementById('resultbox2').value = 'Select a value';

        } else if (op1.options[op1.selectedIndex].value == 'option2') {
            centimetersinches = value * .394;
            document.getElementById('resultbox1').value = value + ' centimeters';
            document.getElementById('resultbox2').value = centimetersinches + ' inches';


        }

在calcFunction函数之前,我确实有一些jquery,但我不认为这与它有任何关系。据我所知,这应该行得通。结果框的变量后面的字符串显示在结果框中,但我无法获得要显示的变量厘米。任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-30 20:43:01

我创建了一个JSfiddle并在那里修复了它-

http://jsfiddle.net/ajsrypf3/2/

两件事

  1. 你错过了对这个功能的最后一次妄想
  2. 每次发生单击事件时,都需要读取输入字段。这意味着以下三行应该在您的calcFunction中 变量op1 =document.getElementById(“选项”); var值= document.getElementById(' value ').value; 变幅厘米状;

固定代码在这里

代码语言:javascript
复制
calcFunction = function () {

    var op1 = document.getElementById("option");
    var value = document.getElementById('value').value;
    var centimetersinches; 

        if (op1.options[op1.selectedIndex].value == 'option1') {
            document.getElementById('resultbox1').value = 'Select a value';
            document.getElementById('resultbox2').value = 'Select a value';

        } else if (op1.options[op1.selectedIndex].value == 'option2') {
            centimetersinches = value * .394;
            document.getElementById('resultbox1').value = value + ' centimeters';
            document.getElementById('resultbox2').value = centimetersinches + ' inches';


        }
}
票数 1
EN

Stack Overflow用户

发布于 2014-10-30 20:46:20

“尝试将var声明移到函数中。它们在页面呈现时执行,然后在执行函数时不更新(最佳猜测w/o完整源)”-pherris。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26662798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档