2016-02-09 1 views
0

У меня есть фрагмент кода html. В java-скрипте у меня есть элемент html с идентификатором <input id = "Test[0]name">. Теперь мне нужно получить значение следующего выбора элемента, идентификатор заканчивается с адресомjquery selector, чтобы получить значение элемента, когда у вас есть элемент рядом?

<div> 
    <div> 
     <div> 
      <div> 
       <input id="Test[0]name"> 
      </div> 
     <div> 
    </div> 
    <div> 
     <div> 
      <input> 
      ....... 
      <select id="Test[0]address"> 
      <label> 
     </div> 
    </div> 
    <div></div> 
</div> 

Я попытался ниже

$(element).parent().parent().parent().siblings()[2].find("[[id$=address]]") 
+0

что такое элемент ??? –

+0

Можно ли изменить HTML? Это было бы намного проще (не говоря уже о семантическом), если вы можете добавить общий родительский контейнер для обоих элементов. –

+0

вы пробовали '$ ('# Test [0] адрес')' – madalinivascu

ответ

0

Как идентификаторы уникальны, так что это должно быть:

$('#Test\\[0\\]address') 

или вместо siblings() вы должны использовать .next():

$(element).parent().parent().parent().next().find("[id$=address]") 

Если вы можете обновить разметку немного, я хотел бы предложить вам использовать имя класса на этом элементе $(element).parent().parent().parent():

<div> 
    <div class='holder'> 
     <div> 
      <div> 
       <input id="Test[0]name"> 
      </div> 
     <div> 
    </div> 
    <div class='holder'> 
     <div> 
      <input> 
      ....... 
      <select id="Test[0]address"> 
      <label> 
     </div> 
    </div> 
    <div class='holder'></div> 
</div> 

Затем вы можете изменить это:

$(element).closest('.holder').next().find("[id$=address]"); 
+0

Я предполагаю, что OP не знает конкретного 'id' во время выполнения и ищет, чтобы пересечь DOM, чтобы найти необходимый элемент. –

+0

Благодаря Фреду для редактирования. – Jai

+0

@Jai, пожалуйста, но вы (возможно, случайно) вернули их. –

 Смежные вопросы

  • Нет связанных вопросов^_^