首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JQuery选择具有未知id的名称数组

JQuery选择具有未知id的名称数组
EN

Stack Overflow用户
提问于 2022-07-18 14:54:58
回答 3查看 85关注 0票数 0

我有多个输入作为一个数组,如下所示:

代码语言:javascript
运行
复制
<input name="data[extras][1][id]" value="1">
<input name="data[extras][1][netto]">
<input name="data[extras][1][tax]">
<input name="data[extras][1][brutto]">

<input name="data[extras][2][id]" value="2">
<input name="data[extras][2][netto]">
<input name="data[extras][2][tax]">
<input name="data[extras][2][brutto]">

我有所有的临时演员:

代码语言:javascript
运行
复制
let extras = $('input[name^=data\\[extras\\]]');

现在,我想遍历所有这些来创建一个数组,但是我需要id来执行进一步的操作(1或2)。

我想要取得这样的成就:

代码语言:javascript
运行
复制
let id = $('input[name^=data\\[extras\\]\\[UNKNOWN ID\\]\\[id\\]]').val();

我希望任何人都能帮我。

问候

EN

Stack Overflow用户

发布于 2022-07-18 15:34:37

不清楚您的预期输出是什么,但是您可以轻松地遍历元素集合并解析出数字和字符串。

代码语言:javascript
运行
复制
var inputs = document.querySelectorAll('[name^="data\[extras\]"]');
const grouped = Array.from(inputs).reduce(function(o, input) {
  const parts = input.name.match(/^data\[extras\]\[(\d+)\]\[(.*)\]$/);
  const index = parts[1];
  const key = parts[2];
  o[index] = o[index] || {};
  o[index][key] = input.value;
  return o;
}, {});

console.log(Object.values(grouped))
代码语言:javascript
运行
复制
<input name="data[extras][1][id]" value="1-i">
<input name="data[extras][1][netto]" value="1-n">
<input name="data[extras][1][tax]" value="1-t">
<input name="data[extras][1][brutto]" value="1-b">

<input name="data[extras][2][id]" value="2-i">
<input name="data[extras][2][netto]" value="2-n">
<input name="data[extras][2][tax]" value="2-t">
<input name="data[extras][2][brutto]" value="2-b">

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73024362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档