我需要从文本类型的每个输入中获取最后一个括号名称。
例如:
<input type='text' name='order[bill_address_attributes][firstname]' />
<input type='text' name='order[bill_address_attributes][lastname]' />
<input type='text' name='order[bill_address_attributes][phone]' />
通缉结果:
firstname
lastname
phone
我可以通过使用name
$('input').each()
的完整字符串值
我是否需要使用正则表达式修改.each()
中的输出字符串,或者使用jQuery有更好的方法吗?
答案 0 :(得分:5)
var arr =$('input').map(function(){
return (/\]\[(.+)\]$/g).exec($(this).prop('name'))[1];
}).get();
console.log(arr); //arr is array if you want to convert it to string use arr.join(' ')
<小时/> 使用RegEXp
/\]\[(.+)\]$/g
答案 1 :(得分:2)
您可以在.each()
循环中不使用RegExp执行此操作:
$('input:text').each(function(index, value) {
console.log($(value).attr('name').split('[').pop().replace(']', ''));
});
这将打印控制台每个输入的最后一组括号中的值。
此处的完整示例:http://jsfiddle.net/jt2Mu/。