2016-01-22 2 views
0

ASPXКак перебрать только выбранное значение пунктов в Заполнителе выпадающего списка-Code Behind

<select id="ddColumns" name="ddColumns" runat="server" multiple style="width: 400px;" 
    data-placeholder="All" class="chosen-select"> 
</select> 

DLL

ddColumns.DataSource = AvailableColumns 
ddColumns.DataTextField = "ColumnNames" 
ddColumns.DataValueField = "ColumnNames" 
ddColumns.DataBind() 

Код, который перебирает каждый элемент в раскрывающемся списке

For Each selection As ListItem In ddColumns.Items 
    If selection.Selected Then 
     ddGroupBy.Items.Add(selection.Value) 
    End If 
Next 

Вместо того, чтобы перебирать каждый элемент, мне нужно прокрутить только выбранные в раскрывающемся списке «Заполнитель».

Просьба сообщить.

+0

Проблема заключается в том, что она перебирает все элементы в том порядке, в котором они появляются в dropdown.If я выбираю значение дальше в раскрывающемся списке, а затем в первом значении он не добавляет первое значение в ddGroupBY, а затем значение далее вниз. Но я хочу, чтобы они были в порядке выбора. Значения в ddGroupBy передаются в оператор sql для группировки в порядке выбора. –

+0

Thats the problem.It не делает этого. Есть ли способ только пропустить выбранные элементы, такие как ddcolumns.selecteditem.value something (Just for clarifiaction) –

+0

Непонятно. Что означает «порядок отбора»? Если у вас есть три элемента, и пользователь выбирает первый элемент 2, а затем элемент 1, вы хотите, чтобы элементы были добавлены к другому ddl в том же порядке, поэтому первый элемент 2, а затем элемент 1? Это верно? Если это так, используйте реальный 'DropDownList', установите' AutoPostBack' в 'True' и обработайте событие' SelectedIndexChanged'. Затем вы можете добавить всегда один «ListItem» ко второму ddl, который был выбран в то время. –

ответ

0

Это может быть немного легче сделать это с помощью Javascript:

var a1 = selectElem.getElementsByTagName('ddColumns'); 
var a2 = []; 
for(var i=0; i<a1.length; i++) { 
    if(a1[i].selected) 
     //do something; 
} 
+0

Знаете ли вы, как это сделать в коде? Спасибо. –

+0

Нет, я не верю, что это возможно. – WedgeBuster53

+0

О, благодарю за Хеп, хотя .. –

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