Помощь в селекторе jquery - PullRequest
       3

Помощь в селекторе jquery

0 голосов
/ 19 сентября 2011

У меня есть такие элементы формы:

<input type='text' id='person_1_name'>
<input type='text' id='person_2_name'>
<input type='text' id='person_3_name'>
<input type='text' id='person_4_name'>
<input type='text' id='person_5_name'>
..
..
..

Я могу выбрать один элемент следующим образом:

$("#person_1_name").focusout( function() {

   alert("Hello World");

});

Есть ли какой-либо селектор, который выбирает все элементы (персона _ <*> _ имя), как это, не описывая их отдельно?

Спасибо

Ответы [ 7 ]

3 голосов
/ 19 сентября 2011

JQuery эмулировал селекторы CSS. Итак, это должно работать хорошо:

$('input[id^="person_"][id$="_name"]');
3 голосов
/ 19 сентября 2011

это не правильный путь.

Вы должны добавить класс к каждому из элементов и затем выбрать его:

$(".MyClass")...

но если вы настаиваете:

  $('div') .filter(function() { return this.id.match(/person\_[0-9]\_name/); }) .css('border','solid 1px red')
2 голосов
/ 19 сентября 2011
1 голос
/ 19 сентября 2011

Лучший способ - добавить class='person_name' в input и использовать

$(".person_name")focusout( function() {

   alert("Hello World");

});

Но если вы вынуждены использовать id, тогда вы можете использовать код ниже

$("input[id^='person_'][id$='_name']").focusout( function() {

   alert("Hello World");

});

Смотри рабочую демонстрацию здесь http://jsfiddle.net/usmanhalalit/aPD5K/

1 голос
/ 19 сентября 2011

Вы можете попробовать выбрать их с классом. Сначала установите им класс, а затем выберите их с помощью скрипта

как это:

<input type='text' id='person_1_name' class='person'> 
<input type='text' id='person_2_name' class='person'> 
<input type='text' id='person_3_name' class='person'> 
<input type='text' id='person_4_name' class='person'> 
<input type='text' id='person_5_name' class='person'> 

<script type="text/javascript">

var person = $(".person");

персона var будет содержать массив

1 голос
/ 19 сентября 2011

Добавьте класс к элементам person_n_name и используйте вместо этого селектор класса.

0 голосов
/ 19 сентября 2011

Это должно работать (не проверено)

$('input[id*="person"]')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...