嗨我在为多个输入框分配单个值时遇到问题.我尝试了很多方法但它只分配了一个文本框.如何指定多个文本框.
注意:我对所有输入框都有相同的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(‘这里所有人的价值’);
纯JavaScript
在Javascript中,您将使用getElementsByClassName()并遍历它们,为它们提供相同的值.
var x = document.getElementsByClassName('myids'); for(i = 0; i < x.length; i++) { x[i].value = "New!"; }