2012-02-01 2 views
1

Вот что я пытаюсь разобрать с JQuery:Как получить массив всех выбранных значений всех DropDownLists в DIV

<tr> 
    <td>5</td> 
    <td>[email protected]</td> 
    <td>asdfasdf asdfasdf</td> 
    <td> 
     <div class="roleoption"> 
      <img src="/Public/images/delete.png" alt="delete" /> 
      <select id="role" name="role"> 
       <option value="1">Anonimo</option> 
       <option value="2">Registrado</option> 
       <option value="3">Tecnico</option> 
       <option value="4">Empresario</option> 
       <option selected="selected" value="5">Editor</option> 
       <option value="6">Financias</option> 
       <option value="7">Administrador</option> 
      </select> 
     </div> 
     <img class="add-role" src="/Public/images/add.png" alt="add" /> 
    </td> 
</tr> 

И Javascript код:

   select td  tr  get the first td's value? 
var userId = $(this).parent().parent().select 

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

Затем мне нужно захватить каждый .val() каждого select внутри td. Что-то вроде:

$(this).parent().find('select').each().val();?? 

Как я могу обернуть этот код и вернуть что-то вроде:

//Save array of values: { user: 4, roles { rol: 1, rol: 3, rol: 6 } } 

Я намерен использовать этот массив значений в Ajax запроса.

+0

Вы можете разместить HTML, который был создан, а не на стороне сервера код, который генерирует его? –

+0

@ AnthonyGrist: Отредактировано с фактическим HTML. –

ответ

7

Вы могли бы сделать что-то вроде этого:

var selectValues = new Array(); 
$('div.roleoption').find('select').each(function() { 
    selectValues.push($(this).val()); 
} 

Там, наверное, гораздо лучший способ сделать то же самое в JQuery, но это должно работать.

+0

Это здорово, за исключением того, что он будет захватывать каждое значение выбора в каждой отдельной роли. Мне нужно захватить только val внутри родителя(). Parent() (т. Е. Td выбрана операция выбора). –

+0

Могу ли я выбирать цепочки: '$ (this) .parent(). Parent(). Allselectitemshere'. –

+0

Когда вы планируете называть это? Как результат события, например, нажатия на определенный элемент? Вы используете 'this' в своих фрагментах кода, но я не совсем уверен, чего вы ожидаете от этого. –

-1

отборное элемент с множественным атрибутом,

<select id="role" name="role" multiple="multiple"> 


$(function() { 
    $('#role').val(); 
}); 
Смежные вопросы