如何从多个唯一id中获取值

How to get the value from multiple unique ids

本文关键字:id 获取 唯一      更新时间:2023-09-26

我一直在做一个表单,多亏了这个网站,我可以制作额外的输入字段和选择字段!所有这些字段都获得唯一id(3011、3012、3013到最大3019)和(rc1、rc2等)带有删除链接。

var i = 2;
var limit = 10;
function createInput () {
     if (i == limit) {
          alert("You have reached the limit of adding " + i + " inputs");
     }
     else
var field_area = document.getElementById('301X')
var div = document.createElement("div");
div.id = 'SA '+i;
var input = document.createElement("input");
div.innerHTML = '301'+i ;
input.id = '301'+i;
input.name = '3011';
input.type = "text"; //Type of field - can be any valid input type like text,file,checkbox etc.
input.value = "";
input.size = '80';
var rcnode = document.getElementById("rc1") // bepaal var van de select menu id relcode
var rcclone = rcnode.cloneNode(true); // bepaal var van de clone van de select
rcclone.id = 'rc'+i; // het nummeren van id clone
div.appendChild(input);
div.appendChild(rcclone);
field_area.appendChild(div);

它工作得很好(我不会感到惊讶,因为它可能更糟)现在我想了解价值观。我用这个脚本成功地从一个值中截取了它:

var x = 1;
function catchInput () {
var said = '301'+x; 
var rcid = 'rc'+x;
var Valsaid = document.getElementById(said).value;
var Valrcid = document.getElementById(rcid).value;
alert (said + ' ' + Valsaid + Valrcid);
}   

但我想把他们都抓起来。我一直在玩数组和for循环,但我搞不清楚。任何帮助,指向正确的方向,不胜感激。

赫尔曼

有几种可能性:

1) 用一个公共字符串作为id的前缀,然后使用jQuery(例如)查找所有id以以下前缀开头的元素:$('[id^=yourPrefix]')

2) 如果您想坚持使用POJS,可以通过为这些动态生成的元素分配一个公共类来对它们进行"分组"。然后您可以使用getElementsByClassName(),这不是在所有浏览器中都可用的(实际上只是IE<=8的问题)

3) 但是,如果你想坚持使用POJS,但需要扩展的浏览器支持,你可以用一个公共字符串作为id的前缀,然后在元素上循环(可能使用getElementsByTagName()限制集合),并使用indexOf()测试id字符串是否以这个前缀开头(这很可能是jQuery实现这个功能的方式)

希望这能帮助。。。