Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery遍历.each()并根据first.each()给出迭代id_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery遍历.each()并根据first.each()给出迭代id

Javascript jQuery遍历.each()并根据first.each()给出迭代id,javascript,jquery,html,Javascript,Jquery,Html,我不知道如何恰当地命名这个问题,因此,如果标题有误导性,请为其道歉 我有一个表的列表(大约30~),我使用ajax从其他文件加载这些表,具体取决于用户在侧栏菜单上单击的li数据id。每个表格都有自己的id,每个输入都基于表格id和表格中的输入数量 也就是说:table#id_1有一个input#id_1--input2(input2因为它是这个特定table中的第三个input) 我可以手动写,但是我按字母顺序排序我的列表,所以如果我想添加一个新的表,它将在列表< /代码>的中间,我必须重写“表

我不知道如何恰当地命名这个问题,因此,如果标题有误导性,请为其道歉

我有一个
表的列表(大约30~),我使用
ajax
从其他文件加载这些表,具体取决于用户在
侧栏菜单上单击的
li数据id
。每个
表格
都有自己的
id
,每个
输入
都基于
表格id
表格
中的输入数量

也就是说:
table#id_1
有一个
input#id_1--input2
input2
因为它是这个特定
table
中的第三个
input

我可以手动写,但是我按字母顺序排序我的列表,所以如果我想添加一个新的<代码>表<代码>,它将在<代码>列表< /代码>的中间,我必须重写“<代码>表的和<代码>输入的 <代码> ID 这是一个大的不。p> 因此,我试图得到一个函数,它可以将

id属性
添加到
表格
,并基于
表格id
,它可以设置
输入id
+在
输入
的末尾添加它的索引(就像上面的一个例子和代码片段末尾我想要的
效果一样)

var div=$('table');
每个分区(功能(索引){
var inputid=指数-2;
$(this.attr('id','id_'+索引);
$('input')。每个(函数(inputIndex){
$(this.attr('id','id_'+inputid+'-input'+inputIndex);
});
});
div{
边缘底部:20px;
}
跨度{
背景色:黑色;
颜色:白色;
填充:2px;
}

我收到的效果是:
表1/#id_0
项目
//id_0-input0
项目
//id_0-input1
项目
//id_0-input2
表2/#id#u 1
项目
//id_0-input3
项目
//id_0-input4
表3/#id#u 2
项目
...
项目
...
项目
//输入0-input7
我想要的效果是:
表1/#id_0
项目
//id_0-input0
项目
//id_0-input1
项目
//id_0-input2
表2/#id#u 1
项目
//id_1-input0
项目
//id_1-input1
表3/#id#u 2
项目
//id_2-input0
项目
//id_2-input1
项目
//id_2-input2

将javascript代码更改为:

var div = $('table');

div.each(function(index){
  var inputid = index;

  $(this).attr('id', 'id_'+index);

  $(this).find('input').each(function(inputIndex){
     $(this).attr('id', 'id_'+inputid+'-input'+inputIndex);
  });
});
注意最后一行是

$(this).查找('input')。每个(…)

我们再次重复所有的
输入
s,而现在我们只迭代我们迭代的
div中的
输入
s

正如用户S McCrohan在评论中提到的:
var-inputid=index-2
是不必要的,应该是:
var inputid=index

编辑
将javascript代码更改为:

var div = $('table');

div.each(function(index){
  var inputid = index;

  $(this).attr('id', 'id_'+index);

  $(this).find('input').each(function(inputIndex){
     $(this).attr('id', 'id_'+inputid+'-input'+inputIndex);
  });
});
注意最后一行是

$(this).查找('input')。每个(…)

我们再次重复所有的
输入
s,而现在我们只迭代我们迭代的
div中的
输入
s

正如用户S McCrohan在评论中提到的:
var-inputid=index-2
是不必要的,应该是:
var inputid=index

编辑

var div=$('div'); div.each(函数(索引){ $(this.attr('id','id_'+索引); $('input',this).each(函数(inputIndex){ 变量id='id_'+index+'-input'+inputIndex; $(this.attr('id',id.),在(''+id+'')之后; //要显示id,可以将其删除 }); });
div{
边缘底部:20px;
}
跨度{
背景色:黑色;
颜色:白色;
填充:2px;
}

我收到的效果是:
表1/#id_0
项目
项目
项目
表2/#id#u 1
项目
项目
表3/#id#u 2
项目
项目
项目
var div=$('div'); div.each(函数(索引){ $(this.attr('id','id_'+索引); $('input',this).each(函数(inputIndex){ 变量id='id_'+index+'-input'+inputIndex; $(this.attr('id',id.),在(''+id+'')之后; //要显示id,可以将其删除 }); });
div{
边缘底部:20px;
}
跨度{
背景色:黑色;
颜色:白色;
填充:2px;
}

我收到的效果是:
表1/#id_0
项目
项目
项目
表2/#id#u 1
项目
项目
表3/#id#u 2
项目
项目
项目

您想做什么?你为什么需要那些特定的
ID
s?老实说,Well也可以是
class
es。这只是一个高级物理计算器(就像你可以计算黑洞温度一样),我在练习,每个表都有自己的公式和计算。这就是为什么我有很多输入,因为我需要从每个输入中获取值,然后对特定的公式进行计算。你想做什么?你为什么需要那些特定的
ID
s?老实说,Well也可以是
class
es。这只是一个高级物理计算器(就像你可以计算黑洞温度一样),我在练习,每个表都有自己的公式和计算。这就是为什么我有很多输入,因为我需要从每个输入中获取值,然后对特定的公式进行计算