2012-02-28 13 views
0

私は、チェックボックスを使用していますその内部データリストを持って、私は1つのASPボタンと私はButton1を有効にしたときにいずれかのチェックボックスをibtokしたいこのデータリスト上のaspボタンのコントロールを有効/無効にするチェックボックスにjavascriptがチェックされていますか?

<asp:DataList ID="dlst1" runat="server" RepeatDirection="Horizontal" OnItemDataBound="dlst1_ItemDataBound" CaptionAlign="Left"> 
<ItemTemplate> 
     <asp:ImageButton ID="btnImage" runat="server" /> 
     <asp:CheckBox ID="Chkbox" runat="server" TextAlign="Right" /> 
    </ItemTemplate> 
</asp:DataList> 

<asp:Button ID="Button1" runat="server" Enabled="false" Text="Delete" /> 
<asp:ImageButton ID="ibtnok" runat="server" Enabled="false" /> 

のようなデータリストの何かの外にある2画像butttonを持っていますチェックボックスがチェックされていない場合、Button1とibtnokを無効にします。

誰かが私に助けてくださいjavascriptでそれを行うには?

答えて

0

は、私はあなたのコードを取り、変更したlinuxeasy(チェックボックスID)@ありがとう:これらのチェックボックスのそれぞれをループ

は、例えば$('.your_common_chkbox_class').each(function_to_be_performed);

UPDATE

で行うことができます今はその作業

<script type="text/javascript" language="javascript"> 
$(function() { 
    $('.CSSCheck').click(function() { 
     if ($("[id$='Chkbox']:checked").length > 0) { 
      $("#<%=Button1.ClientID %>").removeAttr('disabled'); 
     } 
     else { 
      $("#<%=Button1.ClientID %>").attr('disabled', 'disabled'); 

     } 
    }); 
}); 
</script> 
+0

私が言ったように、いくつかのソリューションがあるので、正確なコードではなく、アイデアをあなたに伝えています。それを自分のやり方で行う必要があるため、評価する必要があります。 – linuxeasy

2

あなたはjqueryのを使用している場合、あなたはこのようにそれを行うことができます。

$("#Chkbox").change(function(){ 
    if($(this).is(':checked')) 
    { 
     $('#Button1, #ibtnok').attr('disabled','disabled'); 
    } 
    else 
     $('#Button1, #ibtnok').removeAttr('disabled'); 
}) 

登場する複数のチェックボックスがある場合、あなたはそれらのチェックボックスに共通するクラスを与えることができ、すべての変更イベントに、あなたがする必要がありますそれらすべての要素をループしたり、チェックされていない/チェックされているチェックボックスを数えたりして、ボタンを有効/無効にします。

$('.your_common_chkbox_class').click(function(){ 
    if($('.your_common_chkbox_class:checked').length > 0) 
     $('#Button1, #ibtnok').attr('disabled','disabled'); 
    else 
     $('#Button1, #ibtnok').removeAttr('disabled'); 
}) 
+0

完全にjqueryソリューションを掘り下げますが、ASP.NETでは、サーバー側のコントロール(Chkbox、Button1、ibtnok)は、事前生成されたマークアップで作成された素晴らしいクリーンIDではなく、マシン生成IDでレンダリングされるため、 jqueryセレクタに正しい制御IDを提供するのは少し難しいです。 – KodeKreachor

+0

@KodeKreachor:あなたの洞察をお寄せいただきありがとうございますが、その場合、Id部分は '$("#<%= Button1.ClientID%> ")'型のように直接指定することができます。しかし、コンセプトは変わりません。 – linuxeasy

+0

確かに、言​​及したようにセレクタのためのcssクラスを提供することは、 "idのこと"を回避する良い方法でしょう、あなたのために+1: – KodeKreachor

関連する問題