Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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 如何从多个元素的相同名称中获取名称属性的索引。_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何从多个元素的相同名称中获取名称属性的索引。

Javascript 如何从多个元素的相同名称中获取名称属性的索引。,javascript,jquery,html,Javascript,Jquery,Html,我有一些输入字段,名称相同,但我只想得到每个输入的索引值,如下所示 <input type="text" name="op_price[20]" value="20.00" size="3" > <input type="text" name="op_price[2]" value="13" size="3"> <input type="text" name="op_price[14]" value="12" size="3"> 例如,我只想从op_p

我有一些输入字段,名称相同,但我只想得到每个输入的索引值,如下所示

<input type="text" name="op_price[20]" value="20.00" size="3"  >
<input type="text" name="op_price[2]" value="13" size="3">
<input type="text" name="op_price[14]" value="12" size="3">


例如,我只想从op_price name属性中获取20、2、14,这是他们的任意JS或jquery方法来实现的

这将返回数组中的索引:

var indexes = $('[name^="op_price"]').map(function(){
    return this.name.match(/\d+/);
}).get();

console.log(indexes); // ["20", "2", "14"] 

这将返回数组中的索引:

var indexes = $('[name^="op_price"]').map(function(){
    return this.name.match(/\d+/);
}).get();

console.log(indexes); // ["20", "2", "14"] 
使用

从单据中提取:

$( "input[name*='man']" ).val();
使用

从单据中提取:

$( "input[name*='man']" ).val();

如果您不打算更改输入字段的名称,那么您是否可以通过循环来获取所有值?试试这个:

for(i=0;document.getElementById('op_price['+i+']';i++)
 alert(document.getElementById('op_price['+i+']');

这将为您提供循环每次迭代中第i个输入字段的值

如果您不打算更改输入字段的名称,您是否可以通过循环来获取所有值?试试这个:

for(i=0;document.getElementById('op_price['+i+']';i++)
 alert(document.getElementById('op_price['+i+']');
var name = $("input:text").attr("name");
name = name.replace("op_price[", "").replace("]", "");
alert(name);
这将为您提供循环每次迭代中第i个输入字段的值

var name = $("input:text").attr("name");
name = name.replace("op_price[", "").replace("]", "");
alert(name);
请参见


请参见

如果您获得了name属性

   var name="op_price[20]"  

name.replace(/op_price\[(\d*)?]/gi, $1);

然后op_price[20]替换为20,就像你得到你的名字一样

   var name="op_price[20]"  

name.replace(/op_price\[(\d*)?]/gi, $1);

那么op_价格[20]替换为20

谢谢!!你救了我一天。。但是请告诉我为什么要使用.get()@SaketBisht
map()
生成一个新的jQuery对象,您可以调用
get()
来获取本机的ArrayTanks!!你救了我一天。。但是请告诉我为什么要使用.get()@SaketBisht
map()
生成一个新的jQuery对象,您可以调用
get()
来获取本机arrayuse正则表达式,或者通过字符串索引搜索从attribute.hmm中找到相关值,你能给我一些代码或者链接一些非常有用的东西吗?谢谢你能看到我的评论或者可以使用这个代码var name=“op_price[20]”name.replace(/op_price[(\d*)?]/gi,$1);此代码使用正则表达式或字符串索引搜索从属性中查找相关值。嗯,您能给我一些代码或链接一些真正有用的内容吗?谢谢您能看到我的评论,或者可以使用此代码var name=“op_price[20]”name.replace(/op_price[(\d*)?]/gi,$1);此代码