Javascript 将属于某个数组名的所有输入检索到jquery变量中

Javascript 将属于某个数组名的所有输入检索到jquery变量中,javascript,jquery,html,Javascript,Jquery,Html,假设我有以下html: <td> <input type="hidden" name="params[test][index]" value="0"> <input type="hidden" name="params[test][name]" value="2"> <input type="hidden" name="params[other][]" value="0"> <input type="hidden" name=

假设我有以下html:

<td>
  <input type="hidden" name="params[test][index]" value="0">
  <input type="hidden" name="params[test][name]" value="2">
  <input type="hidden" name="params[other][]" value="0">
  <input type="hidden" name="params[test2]" value="0">
</td>

我该怎么办?

您可以创建一个普通对象,使用
$迭代
输入
元素。each()
,使用
.split()
RegExp

var params={};
$。每个($(“td输入”),函数(Uel){
var param=el.name.split(/^\w+(?=\[)\[\\]/).filter(Boolean).pop();
params[param]=el.value;
});
console.log(参数);


你能改为这样做吗?这可能会为你省去很多麻烦。在我的javascript中,我想做这样的事情:
var params=$(this).nest(“td”).next().find(“input[name^='params'])。将它们转换为数组()
然后我将收到预期的array@mplungjanOP不是试图选择元素,而是创建一个属性对象,值反映元素属性是的,它是关于检索元素…我的目标是将此数组包含到另一个数组中,并将其作为post参数发送。这实际上不起作用,因为有时我必须h元素例如“other”应该是“other”:[“0”]。这个问题有解决方法吗?@user4495098在对象中创建键、值对的算法是什么?它可以是可变长度的:有时是一维,有时是二维,有时是三维……我试图使用eval方法设置数组元素,例如:
eval(“params[test][index]=0”);
但它不允许我这样做,因为参数[test]未定义…括号内的第一个字符串是对象的属性名,括号内的第二个字符串位于
。name
属性是嵌套对象的名称,其值设置为
。value
属性?如果第二个
[]
不包含字符串值,是否将括号内的
值设置为值?
var $params = { test => {index =>0, name=>2},other=>[0],test2=>0};