2017-02-21 3 views
0

Я делаю сайт ecommerece, где у меня есть определенные фильтры (5 типов checkboxlists). Если пользователь применяет какие-либо элементы из checkboxlist, выбранные элементы должны быть добавлены в новый флажок. В основном я хочу отобразить то, что выбрали пользователи. Я могу сделать это с помощью следующего кода.Сделать новый динамический CheckBoxList в соответствии с выбранными элементами другого checkboxlist в asp.net

if (IsPostBack) { 
    userSelections.Items.Clear(); 
    foreach (ListItem item in priceFilter.Items) { 
     if (item.Selected) { 
      userSelections.Items.Add(item); 
     } 
    } 

    foreach (ListItem item in brandFilter.Items) { 
     if (item.Selected) { 
      userSelections.Items.Add(item); 
     } 
    } 
} 

С помощью этого кода элементов добавляются в userselections CheckBoxList, но теперь я не знаю, если что-то из userselection получает снимите его следует снимите с его главным фильтром, как любой один Смоги помочь мне сделать это.

+0

Вы хотите снять флажок в поле «priceFilter» и «brandFilter» после того, как элемент был добавлен в 'userSelections'? – Kramb

+0

Да. В пользовательских вариантах цена добавлена ​​в размере от 25 до 50 долларов США. Если я сниму его выбор пользователя feom, он также должен снять флажок с флажка checkboxlist – SUN

ответ

0

О, я думаю, вы можете использовать JavaScript или CheckedChanged Event. Когда пользователь проверяет новый флажок, просто удалите его.

0

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

1

Когда элемент не снят с userSelections, вам необходимо взять значение элемента из списка и выполнить цикл с помощью priceFilter и brandFilter, используя userSelections CheckedChanged Event. Когда значение unchecked item соответствует товару priceFilter и brandFilter, просто снимите флажок с priceFilter или brandFilter.

String unchecked_item = userSelections.item.value; (Примечание: непроверенное значение элемента)

foreach (ListItem item in priceFilter.Items) { 
      if (unchecked_item == item.value) { 
       priceFilter.Item.selected = false; 
      } 
     } 

foreach (ListItem item in brandFilter.Items) { 
      if (unchecked_item == item.value) { 
       brandFilter.Item.selected = false; 
      } 
     } 

, наконец, удалить непроверенный элемент из userSelections.

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