嘿伙计们,我有这个输入
<input name='text[en]' value='aaaaaa' />
<input name='text[fr]' value='bbbb' />
我可以使用$(this).val()
获取每个值,但我如何获得名称内的en,
答案 0 :(得分:2)
这样做
var lang = this.name.match(/\[(.*)\]/)[1];
答案 1 :(得分:1)
$('input').each(function () {
alert($(this).attr('name').match(/text\[([a-z]{2})\]/)[1]);
})
答案 2 :(得分:0)
this.name
会为你提供像'text [en]'这样的完整字符串。然后,您可以使用正则表达式或子字符串来查找您要查找的双字母代码。
一个例子是:
var code = this.name.substring(5,6);
编辑:更新以反映Gedrox的简化。
答案 3 :(得分:0)
试试这个
$("input").each(function(){
var name = $(this).attr("name");
name = name.substring(name.indexOf("[") + 1, name.indexOf("]") - name.indexOf("]") -1);
});
答案 4 :(得分:0)
你可以这样做:
var name = $(this).attr('name');
var name = name.slice(-3, -1);
答案 5 :(得分:0)
使用此选项将名称与正则表达式匹配
var match = /(.*)\[([^\]]+)\]/.exec($(this).attr('name'));
match [0]将包含方括号前的部分,match [1]将包含速记语言代码。