javascript - 使用javascript为多个输入框赋值?

标签 javascript jquery arrays

您好,我在为多个输入框分配单个值时遇到了问题。我尝试了很多方法,但它只分配了 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>

有人能帮忙吗?

最佳答案

它只给其中一个赋值,因为 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('这里所有的值');

jQuery jsFiddle here.


纯 JavaScript

在 Javascript 中,您将使用 getElementsByClassName() 并遍历它们,为它们赋予相同的值。

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

Pure JavaScript jsFiddle here.

关于javascript - 使用javascript为多个输入框赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16355959/

相关文章:

javascript - 隔离外部Javascript,防止污染?

javascript - 反转CSS动画

javascript - css 在输入字段上方显示验证消息

javascript - 动态生成按钮,未打开模态 Bootstrap 3

javascript - 如何通过POST方法以隐藏形式发送信息?

jquery - 下拉面板的名称

java - 无法使用 Apache Commons Lang 将双数组转换为字符串

javascript - typescript 推送到数组中的特定键

javascript - 在 JavaScript 中将数组解包为单独的变量

javascript - 如何在 JavaScript 中实现引用计数?