2015-08-13 2 views
-2

У меня уже есть ручка для поля ввода:найти следующий выбор после ввода поля с JQuery

$("input[title = 'Start Date']"); 

У меня есть 2 выбора полей после ввода.

Мне нужно иметь возможность выбирать оба этих поля выбора отдельно. Я пробовал .next('select'), но это не работает, потому что они не братья и сестры.

Это Sharepoint делает так, что он очень тяжелый HTML. То, что я действительно пытаюсь сделать, - это получить контроль над часами и минутами выбора элемента управления.

Все 3 поля находятся в одном ряду. Каждый в своем собственном <td>. Я действительно не хочу попадать в подсчеты. Я предпочел бы просто выбрать первые <select> и второй <select> после ввода.

Есть ли способ получить эти выборы, если они не являются братьями и сестрами ввода?

+6

Вы можете оставить соответствующий HTML? – Sushil

+0

Какие-нибудь шансы, что мы можем увидеть отметку? – PeterKA

+0

что-то вроде [этого] (http://jsfiddle.net/ce4k9g2b/)? –

ответ

1

Не нужно считать ячейки. Вот как получить два select элемента в той же строке в качестве входных данных, даже если они находятся в разных клетках:

var selects = $('select', $('input[title="Start Date"]').closest('tr')); 
+0

Спасибо, оба эти идеи отлично работали. Я должен был упомянуть, что я уже знаю, как выбрать всю строку. Один вопрос. Почему я должен использовать .value для получения значения каждого выбора? .val() не работает. выбирает [0]. значение работает, но не выбирает [0] .val(). При необходимости я могу задать новый вопрос. –

+0

.val() - это метод jquery, поэтому вам нужно обернуть элемент для доступа к методу. Попробуйте $ (вместо этого выбирает [0]). Val(). – PeterKA

+0

Или 'selects.first(). Val()' или 'selects.eq (0) .val()'. – PeterKA

4

Вы можете найти .closest и .find.

$("input[title = 'Start Date']").closest('tr').find('select'); 
Смежные вопросы