1

我有一些输入字段,名称相同,但我只想像这样获取每个输入的索引值

<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 名称属性中获取 20、2、14,是他们的任何 JS 或 jquery 方法来做到这一点

4

5 回答 5

5

这将返回数组中的索引:

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

console.log(indexes); // ["20", "2", "14"] 
于 2013-08-26T06:38:29.240 回答
0

就像你得到你的名字一样

   var name="op_price[20]"  

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

然后 op_price[20] 替换为 20

于 2013-08-26T06:40:57.423 回答
0

使用attributeContains 选择器

来自文档的前:

$( "input[name*='man']" ).val();
于 2013-08-26T06:38:54.257 回答
0

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

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

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

于 2013-08-26T06:39:08.003 回答
0
var name = $("input:text").attr("name");
name = name.replace("op_price[", "").replace("]", "");
alert(name);

演示

于 2013-08-26T06:39:58.257 回答