2012-02-28 121 views
0

我有內部的一個DataList我使用一個複選框,我有1個ASP按鈕和2圖像按鈕移到它的數據列表這樣的在datalist複選框中禁用/啓用asp按鈕控件checked複選框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" /> 

外面我想啓用Button1的和ibtok當任何一個複選框在沒有選中複選框的情況下檢查並禁用Button1和ibtnok。

有人plz幫助我如何做到這一點與JavaScript?

回答

0

謝謝@ linuxeasy我送你的代碼和修改(複選框ID)現在它的工作

<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 2012-02-28 11:39:41

2

如果您正在使用jQuery,你可以這樣來做:

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

如果有出現,那麼也可以把這些複選框共同的類,並且在每一個變化的事件多個複選框,則需要遍歷所有這些元素,或者選中未選中/選中的複選框,並啓用/禁用按鈕。

通過每個那些複選框的循環可以用$('.your_common_chkbox_class').each(function_to_be_performed);

UPDATE完成

如:

$('.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進行呈現,而不是他們在預先呈現的標記中具有的乾淨標識,以便可以使其有點難以向jQuery選擇器提供正確的控制ID。 – KodeKreachor 2012-02-28 05:36:40

+0

@KodeKreachor:謝謝你的見解,但在這種情況下,Id部分可以直接指定爲'$(「#<%= Button1.ClientID%>」)'類型的解決方案。但概念,仍然會保持不變! – linuxeasy 2012-02-28 05:39:37

+0

肯定的是,爲選擇器提供的css類像你提到的目標將是一個很好的方式來解決「身份證」的事情,+1爲你:) – KodeKreachor 2012-02-28 05:42:56

相關問題