JavaScript 如何给数组文本框赋值

下面是一组的数组文本框
<input type="text" name="name[]" value="" />
<input type="text" name="name[]" value="" />
<input type="text" name="name[]" value="" />
<input type="text" name="name[]" value="" />
<input type="text" name="name[]" value="" />
……

我想要做的是用JS脚本如何给指定的第三个文本框的value进行赋值该怎么做
还有怎么才能在我点击其中一个TEXT就能知道的下标是几
比如我点击第三个就能知道它的下标为2,点击第二个就知道它是1

第1个回答  推荐于2016-06-13
for(var i=0;i<document.getElementsByName("name[]").length;i++){
document.getElementsByName("name[]")[i].value= "值"+i;
}追问

你这个对所有的文本框数组进行赋值,而不是文本框数组中的其中一个进行赋值

追答

你是要对第三个进行赋值,加个if(i==2) 不就行了.
以下是完整代码:

var objs = document.getElementsByName("name[]");
for(var i=0;i

本回答被提问者采纳
第2个回答  2011-09-12
有点疑问。。。为什么你的name值要去等于name[]?? 为什么要加上中括号?好像有点命名不规范。比如你的文本框是在from 表单,表单名称为myfrom,则js中可以这样赋值document.myfrom.name[2].value="你想赋的值"。
第3个回答  2011-09-15
<form name=form1>
<input type="text" name="name[]" value="" />
<input type="text" name="name[]" value="" />
<input type="text" name="name[]" value="" />
<input type="text" name="name[]" value="" />
<input type="text" name="name[]" value="" />
</form>
<script>
var objs = document.getElementsByName("name[]");
objs[2].value="值";
for(var i=0;i<objs.length;i++){
objs[i].title=i;
}

</script>
第4个回答  2011-09-11
用jquery的写法就是 $("input:eq(2)").val("test");
相似回答