数组输入中的每个问题

时间:2011-07-19 07:27:49

标签: jquery

嘿伙计们,我有这个输入

<input name='text[en]' value='aaaaaa' />
<input name='text[fr]' value='bbbb' />

我可以使用$(this).val()获取每个值,但我如何获得名称内的en,

6 个答案:

答案 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]将包含速记语言代码。