2014-02-13 2 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. –

Смежные вопросы