2017-02-21 8 views
0

私は特定のフィルタ(5種類のチェックボックスリスト)を持つecommerece Webサイトを作成しています。ユーザーがチェックボックスリストから項目を適用すると、選択した項目が新しいチェックボックスリストに追加されます。基本的には、ユーザーが選択した内容を表示したいと考えています。私は次のコードでこれを行うことができます。このコード項目と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から何かが、それはいずれかが、私はこれを行うのに役立ちwell.Canとしてメインフィルタだから、それはチェックを外しますする必要がありますオフになれば、今、私は知りません。

+0

アイテムが 'userSelections'に追加されたら' priceFilter'と 'brandFilter'のチェックボックスをオフにしますか? – Kramb

+0

はい。ユーザーの選択で$ 25 - $ 50が追加されました。チェックを外すと、ユーザーの選択がうまくいかない場合は、価格フィルタのチェックボックスリストからチェックを外す必要があります – SUN

答えて

0

ああ、JavaScriptまたはCheckedChangedイベントを使用できると思います。ユーザーが新しいチェックボックスリストをチェックしたら、それを削除するだけです。

0

これは、ページのロードイベントではなくチェックボックスにイベントを適用する場合に適用する必要があります。私はあなたがPage_Load isPostbackで申し込んだと思う。

1

userSelectionsから項目のチェックを外した場合は、listから項目値を取得し、priceFilterおよびbrandFilterでuserSelections CheckedChangedイベントを使用してループする必要があります。チェックされていない項目の値がpriceFilterおよびbrandFilter項目と一致する場合は、priceFilterまたはbrandFilterのチェックを外します。

文字列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から削除します。

関連する問題