2014-02-13 39 views
0

我想這個代碼可以禁用我的aspcheckbox列表(不是複選框,這是asp.net CheckBoxList控件)我的其他選項...禁止在CheckBoxList的其他項目不工作

這裏是jQuery的

$(document).ready(function() { 
    $('#<%=lstExposureValue.ClientID%> input:checkbox').click(function() { 

     var currentIdone = 'Unknown'; 
     var checked = false; 
     $('#<%=lstExposureValue.ClientID%> input:checkbox').each(function() { 

      var currentId = $(this).next().html(); 
      if (currentId == currentIdone) { 
       if (checked) { 
        $(this).prop('enabled', true); 
        $("#<%=lstExposureValue.ClientID%> input:checkbox:not(:checked)").prop("enabled", true); 
        checked = false; 
        return; 
       } 
       else { 
        $("#<%=lstExposureValue.ClientID%> input:checkbox:not(:checked)").prop("disabled", true); 
        $("#<%=lstExposureValue.ClientID%> input:checkbox:not(:checked)").prop("checked", false); 
        checked = true; 
       } 
      } 
     }); 

    }); 

}); 

這裏是asp.net

  <h3> 
      One</h3> 
     <asp:CheckBoxList ID="lstExposureValue" runat="server"> 
      <asp:ListItem>Short-term exposure</asp:ListItem> 
      <asp:ListItem>Medium-term exposure</asp:ListItem> 
      <asp:ListItem>Unknown</asp:ListItem> 
      </asp:CheckBoxList> 

所以未知當選擇了其他3個選項必須選擇,而禁用。 而當未知的未選中,則應啓用所有選項。

現在無論我selecte它禁止其他選項,當我取消了相同的選項,它禁用所有選項的任何幫助,請人選擇.....

回答

0
$("#<%=lstExposureValue.ClientID%> input:checkbox:not(:checked)").prop("disabled", true); 
$("#<%=lstExposureValue.ClientID%> input:checkbox:not(:checked)").prop("checked", false); 

你不能改變的狀態禁用的元素。先檢查它,然後禁用該元素。

+0

怎麼做,什麼錯誤代碼。我應該在哪裏進行更正 – user2664298

+0

更改上述代碼中的操作順序。 –

0

這是你怎麼做的。

$(document).ready(function() { 
    var checked = false; 
    $('#<%=lstExposureValue.ClientID%> input:checkbox').click(function() { 
     var currentIdone = 'Unknown'; 
     var currentId = $(this).next().html(); 
     if (currentId == currentIdone) { 

      if (checked) { 

       $("#<%=lstExposureValue.ClientID%> input").removeAttr('disabled'); 
       checked = false; 
       return; 
      } 
      else { 
       $("#<%=lstExposureValue.ClientID%> input").attr('checked', false); 
       $(this).attr('checked', true); 
       $('#<%=lstExposureValue.ClientID%> input:not(:checked)').attr('disabled', 'disabled'); 
       checked = true; 
      } 


     } 

    }); 
}); 

它工作

+0

'checked'和'disabled'是屬性,而不是屬性,最好使用'.prop' –

相關問題