简体   繁体   English

如何将javascript变量分配给输入文本字段?

[英]How to assign a javascript variable to input text field?

I've a variable called "numbers" in javascript and this variables holds 10 numbers from 0 to 9 as shown below. 我在javascript中有一个名为“数字”的变量,这个变量包含从0到9的10个数字,如下所示。

var numbers = "0123456789";

Now what I want to be able to do is assigning each of these numbers to an input text field using document.getElementByID("a") = "";, for example: 现在我想要做的是使用document.getElementByID(“a”)=“”;将这些数字中的每一个分配给输入文本字段,例如:

<input type="text" id="a" value="" />
<input type="text" id="b" value="" />
<input type="text" id="c" value="" />
<input type="text" id="d" value="" />
<input type="text" id="e" value="" />
<input type="text" id="f" value="" />
<input type="text" id="g" value="" />
<input type="text" id="h" value="" />
<input type="text" id="i" value="" />
<input type="text" id="j" value="" />

Currently the following text fields above holding no values, but I want to be able to assign each of the numbers in variable "numbers" to each of the text fields above, so it would looks like this when user clicks on a button called click me. 目前上面的以下文本字段没有任何值,但我希望能够将变量“数字”中的每个数字分配给上面的每个文本字段,所以当用户点击一个名为click me的按钮时,它看起来像这样。

<input type="text" id="a" value="0" />
<input type="text" id="b" value="1" />
<input type="text" id="c" value="2" />
<input type="text" id="d" value="3" />
<input type="text" id="e" value="4" />
<input type="text" id="f" value="5" />
<input type="text" id="g" value="6" />
<input type="text" id="h" value="7" />
<input type="text" id="i" value="8" />
<input type="text" id="j" value="9" />

Also is there any way to leave a text field empty if a particular number is = 0 如果特定数字= 0,还有任何方法可以将文本字段留空

Thanks in advance :) 提前致谢 :)

var numbers = "0123456789";
var ids = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"];

for (var i = 0; i < ids.length; i++)
{
    var el = document.getElementById(ids[i]);
    var num = numbers[i];

    if (num == "0")
        el.value = "";
    else
        el.value = num;
}

Working sample: http://jsfiddle.net/LrJ5S/ . 工作样本: http//jsfiddle.net/LrJ5S/

In addition to mellamokb, another way of accomplishing the same: 除了mellamokb,另一种完成相同的方式:

var numbers = "abc0123abc0123";
var inputs = document.getElementsByTagName('input');
var i = 0;
for(var s = 0; s < inputs.length; s++) {
    inputs[s].value = numbers.charAt(i)!=0?numbers.charAt(i):'';
    i++;
}

JSFiddle 的jsfiddle

Basic example with no checks on data size of inputs and string: 没有检查输入和字符串数据大小的基本示例:

<!DOCTYPE html>
<html>
  <head>
    <meta charset=utf-8 />
    <title></title>
  </head>
  <body>
    <div id="myInputs">
      <input type="text" id="a" value="" />
      <input type="text" id="b" value="" />
      <input type="text" id="c" value="" />
      <input type="text" id="d" value="" />
      <input type="text" id="e" value="" />
      <input type="text" id="f" value="" />
      <input type="text" id="g" value="" />
      <input type="text" id="h" value="" />
      <input type="text" id="i" value="" />
      <input type="text" id="j" value="" />      
    </div>
    <button id="run">Run</button>

    <script type="text/javascript">
        function putNumbers(){
           var numbers = "0123456789";
           var inputs = document.getElementById("myInputs").getElementsByTagName("input");
           for(var i=0;i<inputs.length;i++){
             var val = numbers.charAt(i);
             inputs[i].value = val==="0"?"":val;
           }  

        }

        document.getElementById("run").onclick = putNumbers;
    </script>


  </body>
</html>

working Example 工作实例

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

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