7

こんにちは、単一の値を複数の入力ボックスに割り当てる際に問題があります。私は多くの方法を試していますが、1 つのテキスト ボックスのみを割り当てます。複数のテキスト ボックスを割り当てる方法を教えてください。

注: すべての入力ボックスに同じ ID を使用しています。

私のコードは以下のとおりです

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script type="text/javascript">
function getInputs()
{
  var inputs = document.getElementsByTagName('input');
  var ids = new Array();
  for(var i = 0; i < inputs.length; i++)
  {
    if(inputs[i].getAttribute('id').toLowerCase()== 'myid')
    {       
       document.getElementsById('myid').value="1";
    }
  }   
}    
window.onload = getInputs;
</script>
</head>
<body>
<form>
  <input type="text"  id="myid"><br>
  <input type="text"  id="myid"><br>
  <input type="text"  id="myid"><br>
  <input type="text"  id="myid"><br>
</form>
</body>
</html>

誰でも助けることができますか?

4

4 に答える 4

13

ID は一意である必要があるため、値はいずれかにのみ割り当てられます。したがって、実際には、その値の割り当てで最初のものをターゲットにすることになります。

代わりにクラスを使用するように HTML を変更します。

<input type="text"  class="myids"><br>
<input type="text"  class="myids"><br>
<input type="text"  class="myids"><br>
<input type="text"  class="myids"><br>

次に、それに応じて JavaScript を調整できます。


jQuery

jQuery では、次を使用して値を設定できます。

$('.myids').val('value for all of them here');

jQuery jsFiddle はこちら。


純粋な JavaScript

Javascript では、getElementsByClassName()それらを使用して反復し、同じ値を与えます。

var x = document.getElementsByClassName('myids');
for(i = 0; i < x.length; i++) {
  x[i].value = "New!";
}

ここに純粋な JavaScript jsFiddle があります。

于 2013-05-03T09:43:49.820 に答える