2011-09-13 8 views
1

enter image description here私はリピーター内にgridviewを持ち、gridview内にドロップダウンリストを持っています。今私は、ユーザーが1つの値twice.myコードiがdrodown「drp_Assign」の重複値を検出したいjavascriptまたはjqueryを使用してドロップダウンで選択した重複値を検出する方法は?

<asp:Repeater ID="rep_test" runat="server"> 
    <ItemTemplate> 
     <asp:GridView ID="grd_test" runat="server" Style="text-align: center; 
       width: 375px;" AutoGenerateColumns="false"> 
       <Columns> 
        <asp:BoundField HeaderText="hello" DataField="hello" /> 
       </Columns> 
       <Columns> 
        <asp:BoundField HeaderText="item" DataField="item" /> 
       </Columns> 
       <Columns>       
        <asp:TemplateField HeaderText="Assign to"> 
         <ItemTemplate> 
          <asp:DropDownList ID="drp_Assign" runat="server"> 
           <asp:ListItem Value="1"> 1</asp:ListItem> 
           <asp:ListItem Value="2">2</asp:ListItem> 
           <asp:ListItem Value="3">3</asp:ListItem> 
          </asp:DropDownList> 
         </ItemTemplate> 
        </asp:TemplateField> 
       </Columns> 
      </asp:GridView> 
      <asp:DropDownList ID="drp_Address" runat="server"> 
      </asp:DropDownList> 
    </ItemTemplate> 
</asp:Repeater> 

で選択することはできませんします。

イメージを参照してください。ユーザーが1行で「1」を選択した後、2行目で同じ値を選択できない場合は、コンプナンス番号の値が重複しないようにしてください。彼がそれをしようとすると、この値を選択したという警告メッセージがすでに別のものを選択していることが表示されます」

+0

。 –

答えて

1

リピータをコンテナとして使用しています。#rep_testとコンテナ内のすべてのドロップダウンに一致します。同じ値を選択し

注:.NETはそれを変更しますと、あなたのブラウザでリピータのIDをダブルチェック

あなたは[.NET 4.0]を静的にあなたのクライアントIDモードを変更しない限り、例えば:

<asp:Repeater ID="rep_test" runat="server" ClientIDMode="Static"> 

REF:http://weblogs.asp.net/asptest/archive/2009/01/06/asp-net-4-0-clientid-overview.aspx

はJQuery:

$(function() { 

    $('#rep_test select').live('change',function(event) { 
     var cI = $(this); 
     $('#rep_test select option:selected').each(function(i, e) { 
      //Check if values match AND if not default AND not match changed item to self 
      if ($(e).val() == cI.val() && $(e).val() != 0 && $(e).parent().index() != cI.index()) { 

       alert('Duplicate found!'); 
       cI.val('0'); 
      } 
     }); 
    }); 

}); 

WORKING例:あなたはコード内で達成されるために必要なものをより明確に説明する必要がhttp://jsfiddle.net/zrcZM/2

+0

これは大丈夫ですが、データバインドされたコントロールのIDは常に変更されます。この例では、私に同じIDを指定している例があります。しかし、私の場合、IDは常に変更されています..もしあなたが提案や助けがあればお願いします。 –

+0

私はセレクタとしてIDを使わず、クラスを使用しています。だから、このを使うことができます...それはそのcssクラスですべてのドロップダウンを取得します。あなたが理解している場合私に知らせてください –

+0

Mmmmm strange。ブラウザでページを開き、生成されたHTMLやスクリプトをコピーしてhttp://jsfiddle.netに貼り付けることができますか?だから私は問題が何かを見ることができます。 –

関連する問題