Jquery: добавление селектора к уже выбранному объекту - PullRequest
3 голосов
/ 05 октября 2010

Привет,

С помощью обычного селектора я могу выбрать великого родителя для входного текстового поля (которое на самом деле является элементом), а через .next () я выбрал следующую строку.

var nextOne = $(this).parent().parent().next();

Из этого следующего ро я хочу выбрать поле ввода текста, которое является ".foo", которое является внуком этой строки.

Как этого достичь?

Редактировать: Каждая строка в таком HTML-формате:

<tr>
    <td  ><input alt="time" type="text" class="timefield start_time"/></td>
    <td  ><input alt="time" type="text" class="timefield end_time"/></td>
    <td  ><input type="text" class="programnamefield"/></td>                
</tr>

И метод, который проверяет, заполнено ли поле end_time, если это так, измените start_time следующей строки как end_time предыдущего. И наоборот.

function autoCompleteTimes(){
    $('.end_time').change(function(){
        var nextOne = $(this).parent().parent().next();
// TODO
        });  
}

Ответы [ 3 ]

1 голос
/ 05 октября 2010

вы можете использовать метод find (если input.foo находится глубоко в дереве dom) или children (если глубина одного уровня) с селектором

nextOne.find('.foo');

или

nextOne.children('.foo');

изменить время поля ввода следующей строки

var end_time = nextOne.find('.end_time').val()
if (end_time != '') {
   // end_time is filled
   nextOne.next().find('.start_time').val(end_time);
}
1 голос
/ 05 октября 2010

Вы можете использовать следующий код:

nextOne.find('.foo');

Надеюсь, это поможет вам:)

1 голос
/ 05 октября 2010

Применяя объект дед / родительский ряд, который вы выбрали в качестве области действия

var nextOne = $ (this) .parent (). Parent (). Next ();

varnextFoo = $ ('. foo', nextOne);

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