Jquery, как получить индекс из входного имени атрибута - PullRequest
2 голосов
/ 13 июня 2011

У меня есть этот код, который работает нормально, но мне было интересно, можно ли сделать это быстрее с помощью jquery, чтобы получить индекс из атрибута имени входа

<input name="inp[myindex]" value="bla" />

и jquery

var $idx = $this.attr('name');
var $split = $idx.split('[');
$idx = $split[1];
$idx = $idx.replace(']', '');

Заранее спасибо!

Ответы [ 3 ]

5 голосов
/ 13 июня 2011

Краткая идиома для извлечения строки между двумя границами - split-pop-shift:

var subname= this.name.split('[').pop().split(']').shift();

или всегда есть метод регулярных выражений, еще короче, хотя и некрасиво:

var subname= this.name.match(/\[([^[]*)\]/)[1];

jQuery ориентирован на манипуляции с DOM и не имеет собственных функций обработки строк. Метод использования квадратных скобок для индексированных имен полей - это особенность PHP, а не что-то, присущее HTML, который видит имена только как простые старые строки.

0 голосов
/ 13 июня 2011
 $('input[name="<name-here>"]')
0 голосов
/ 13 июня 2011

Есть и другие способы сделать это, но ничего с jquery. Просто другие варианты подстроки, замены и т. Д.

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