Как назначить переменную JavaScript для ввода текстового поля? - PullRequest
4 голосов
/ 13 мая 2011

У меня есть переменная под названием «числа» в javascript, и эта переменная содержит 10 чисел от 0 до 9, как показано ниже.

var numbers = "0123456789";

Теперь я хочу назначить каждому из этих номеров входное текстовое поле, используя 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="" />

В настоящее время следующие текстовые поля выше не содержат значений, но я хочу иметь возможность назначать каждое из чисел в переменных «числа» для каждого из текстовых полей выше, поэтому это будет выглядеть так, когда пользователь нажимает кнопку позвонил, нажми меня.

<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" />

Также есть ли способ оставить текстовое поле пустым, если конкретное число = 0

Заранее спасибо:)

Ответы [ 3 ]

7 голосов
/ 13 мая 2011
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;
}

Рабочий образец: http://jsfiddle.net/LrJ5S/.

2 голосов
/ 13 мая 2011

В дополнение к 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

1 голос
/ 13 мая 2011

Базовый пример без проверки размера данных входных данных и строки:

<!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>

Рабочий пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...