javascript - 计算下拉列表中行星的重量并将其打印到输入类型

标签 javascript html

我有一个表单的代码,其中包含一些带有不同选项的下拉菜单,我还创建了警报弹出消息,以便他们现在无法选择同一个星球。我还禁用了一个文本框上的一个输入,因为我只能输入一个输入。

我的问题是如何根据我选择的下拉框计算行星的重量?并且还在输入类型上打印/显示它意味着如果我选择地球并且我的输入类型(重量)为 60N,如果我的第二个选择是金星,它将为我计算重量并将其打印/显示到输入类型。

下面是我的 HTML 代码和 JavaScript 代码。我是 JavaScript 新手。

html:

  <!DOCTYPE html>
 <html>
 <head>
  <title></title>
 </head>
  <body>
   <select name="select1" id="select1" onchange="process_selection(this)">
 <option value="">-- choose one --</option>
   <option value="0">Earth</option>
   <option value="1">Venus</option>
   <option value="2">Mars</option>
  <option value="3">Jupiter</option>
  <input type="text" name="123" id="text1" 
    onchange="process_selection(this)" placeholder=""> N
 </select>
    <br>

    <select name="select2" id="select2" onchange="process_selection(this)"> 
 <option value="">-- choose one --</option>
  <option value="0">Earth</option>
   <option value="1">Venus</option>
  <option value="2">Mars</option>
   <option value="3">Jupiter</option> 

     <input type="text" name = "123" id="text2" 
     onchange="process_selection(this)" placeholder=""> N


  </select>

JavaScript:

<script type="text/javascript">

 function process_selection(obj)
 {


var input1 = document.getElementById("select1").value;
var input2 = document.getElementById("select2").value;
var texta = document.getElementById("text1");
var textb = document.getElementById("text2");


if(input1 == input2)
{
    alert("Please select other planet");
}
 if(texta.value != "")
   {
     document.getElementById("text2").disabled = true ;

  } 
 if(textb.value != "")
 {
  document.getElementById("text1").disabled = true ;

 }

   // var xx = input1.options[input1.selectedIndex].value;
  var SurfaceGravityEarth = 1;
  var SurfaceGravityVenus= 0.907;
  var SurfaceGravityMars= 0.377;
  var SurfaceGravityJupiter= 2.364;
  var weight1 , weight2;
   // var sg1;
   //  var sg2;

  if (input1 == "0"  ) 
 {

weight1 = document.getElementById("text1") * SurfaceGravityEarth;
}

  if (input2 == "1"  ) 
  {
  weight2 = document.getElementById("text1") * SurfaceGravityVenus ;
  document.getElementById("text2").value= weight2 ;
  } 

}

我陷入了计算部分。

最佳答案

首先,获取文本框的值并将其转换为数字类型(整数、 float 等)。 尝试以下代码:

weight1 = parseInt(document.getElementById("text1").value) * SurfaceGravityEarth;

使用parseInt()转换为整数类型。 如果要转换为 float 类型,请使用 parseFloat() 或者您可以简单地对整数和 float 使用 Number() 方法

关于javascript - 计算下拉列表中行星的重量并将其打印到输入类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46417832/

相关文章:

javascript - KnockoutJS - 计算可观察对象和 js 对象

javascript - NodeJS 和 HTTP 的语法错误

javascript - 呈现由 TinyMCE 编辑的 HTML

javascript - 创建显示两种组合颜色结果的混色器

html - 创建我自己的图标字体 .ttf .eot .woff 和 svg 文件

javascript - JQuery 延迟后淡入

javascript - 使用 RegExp 删除所有特殊字符

html - 字段集之间的垂直对齐

javascript - 从下拉列表中获取选定值的问题

php - 如何使用正斜杠 dd/mm/yyyy 验证 DOB 字段