Выберите ТОЛЬКО самое следующее поле выбора (jQuery) - PullRequest
0 голосов
/ 17 июля 2010

Я пытаюсь изменить значение только следующего поля выбора после текущего поля.

Форма представляет собой длинный список строк с полями, которые имеют одинаковые классы. В фокусе поля «количество» в «строке 1» я хочу изменить поле выбора «тип» на «коробки» в той же строке. Весь код, который я пытаюсь сделать, заставляет ВСЕ поля выбора типа на всей странице изменяться. Я хочу изменить только самый ближайший, самый близкий к количеству.

Поле UOM - это поле, которое я пытаюсь изменить, когда пользователь фокусируется на Количество.

Спасибо!

<tr class="draggable odd">
<td class="content-multigroup-cell-field-part-num">
    <div id="edit-group-order-0-field-part-num-value-wrapper" class="form-item">
        <label for="edit-group-order-0-field-part-num-value">J&amp;B No.: 
        </label>
        <input type="text" class="form-text text idleField" value="" size="10" id="edit-group-order-0-field-part-num-value" name="group_order[0][field_part_num][value]" pattern="[0-9]*">
    </div>
</td>
<td class="content-multigroup-cell-field-quantity">
    <div id="edit-group-order-0-field-quantity-value-wrapper" class="form-item">
        <label for="edit-group-order-0-field-quantity-value">Quantity: 
        </label>
        <input type="text" class="form-text text idleField" value="" size="5" id="edit-group-order-0-field-quantity-value" name="group_order[0][field_quantity][value]" pattern="[0-9]*">
    </div>
</td>
<td class="content-multigroup-cell-field-quantity-type">
    <div id="edit-group-order-0-field-quantity-type-value-wrapper" class="form-item">
        <label for="edit-group-order-0-field-quantity-type-value">UOM: 
        </label>
        <select id="edit-group-order-0-field-quantity-type-value" class="form-select" name="group_order[0][field_quantity_type][value]">
            <option selected="selected" value="">- None -
            </option>
            <option value="Box(es)">Box(es)
            </option>
            <option value="Case(s)">Case(s)
            </option>
            <option value="Each">Each
            </option>
            <option value="Feet">Feet
            </option>
        </select>
    </div>
</td>

J & B №: Количество: UOM: - Никто - Box (а) Случай (ы) каждый ноги

Ответы [ 2 ]

0 голосов
/ 17 июля 2010

Я предполагаю, что вы используете разметку таблицы и находитесь внутри события фокуса элемента внутри тд.

$('input.quantity').focus( function() {
    //get current cell, find nearest select.type in the following siblings
    $(this).parent()
           .nextAll()
           .find('select.type:first').val('boxes');

});
0 голосов
/ 17 июля 2010

Вы пробовали ближайший ?

...