Как получить доступ к элементу по имени индекса по Jquery? - PullRequest
1 голос
/ 19 января 2010

У меня есть несколько ВХОДОВ:

<input type="text" name="entry[1]" value="aaa" id="firstEntry" />
<input type="text" name="entry[2]" value="bbb" id="secondEntry" />
<input type="text" name="entry[3]" value="ccc" id="thirdEntry" />

Как получить "2", когда я знаю, что идентификатор элемента - "secondEntry"?

var name = $("#secondEntry").attr('name'); // name = "entry[2]"

а как получить индекс 2? Мне нужно знать только индекс (2), а не полное имя (запись [2]).

Ответы [ 5 ]

5 голосов
/ 19 января 2010

Ну, имя это просто строка, а вам придется делать все остальное с помощью строки:

var name = $("#secondEntry").attr('name'); // name = "entry[2]"
name = name.substring(name.indexOf('[')+1); // name = "2]"

// if you want an integer
name = parseInt(name, 10); // name = 2

// if you want a string representation
name = name.substring(0, name.indexOf(']'));  // name = "2"
1 голос
/ 19 января 2010
var re = /entry\[(\d{1})\]/;
var index = re.exec(string);
1 голос
/ 19 января 2010

Если он всегда в этом формате, то есть entry [x], вы можете использовать регулярные выражения;

var elename = $("#secondEntry").attr('name');
var i = elename.match("entry\\[([0-9])+\\]");
var ind = i[1];
0 голосов
/ 19 января 2010
var name  = $("#secondEntry").attr('name');
var index = name.substring( 6, name.length - 1 );
0 голосов
/ 19 января 2010

Вы можете сделать трюк, используя регулярные выражения .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...