Дети многих родителей jQuery Selector - PullRequest
0 голосов
/ 08 февраля 2011

Я пытаюсь выбрать каждого первого ребенка любого родителя с классом .Payment

Пример HTML:

<div class='payment'>
  <input id="payments_0_:date_paid" name="payments[0][:date_paid]" type="text" />
  <br>
  <input id="payments_0_:amount_paid" name="payments[0][:amount_paid]" type="text" />
</div>
<div class='payment'>
  <input id="payments_1_:date_paid" name="payments[0][:date_paid]" type="text" />
  <br>
  <input id="payments_1_:amount_paid" name="payments[0][:amount_paid]" type="text" />
</div>
<div class='payment'>
  <input id="payments_2_:date_paid" name="payments[0][:date_paid]" type="text" />
  <br>
  <input id="payments_2_:amount_paid" name="payments[0][:amount_paid]" type="text" />
</div>

Как я могу выполнить итерацию каждого платежа и проверить, соответствует ли первый ребенок каждому из них определенному качеству?

Это моя попытка:

$.each($(".payment"), function(key, value) { 
  alert( $("value input:first").val() ); 
});

Но проблема, с которой я здесь сталкиваюсь, заключается в использовании var value для получения значения этого атрибута ()

Есть идеи?

Ответы [ 3 ]

2 голосов
/ 08 февраля 2011

Поскольку данные входы являются первыми дочерними, вы можете выбрать их в исходном селекторе, используя селектор :first-child (документы) , затем используйте нативное свойство value, чтобы получить его значение:

$('.payment > input:first-child').each(function() {
    alert(this.value);
});

Может быть целесообразно сократить их до набора тех, которые не (или не) соответствуют требованиям валидации, используя filter() (документы) метод или not() (документы) метод.

2 голосов
/ 08 февраля 2011

Вместо использования $.each() используйте .each() вместо выбора jQuery, чтобы получить доступ к $(this):

$('.payment').each(function(key) {
    alert($(this).find('input:first').val());
});
1 голос
/ 08 февраля 2011

Попробуйте использовать $("input:first", value).val()

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