2015-01-08 2 views
0

У меня есть 3 флажков сказать флажок A, B, флажок флажок C. У меня есть требование что-то вродеОтключение флажков на основе состояния

  1. Если флажок А установлен, то флажки B и C должны быть отключены.
  2. Я могу проверить оба флажка B и C одновременно, в этом случае флажок A должен быть отключен.
  3. При выборе флажка B или флажка C один (один выбор), в любом случае флажок A должен быть отключен.

Ниже мой код:

$("#B").change(function(){ 
    if($("#B").is(':checked')) 
    { 
     $("#A").attr("disabled", true); 
    } 
    else 
    { 
     $("#A").attr("disabled", false); 
     $("#B").attr("disabled", false); 
     $("#C").attr("disabled", false); 
    } 
    }); 

    $("#C").change(function(){ 
    if($("#C").is(':checked')) 
    { 
     $("#A").attr("disabled", true); 
    } 
    else 
    { 
     $("#A").attr("disabled", false); 
     $("#B").attr("disabled", false); 
     $("#C").attr("disabled", false); 
    } 
    }); 

    $("#A").change(function(){ 
    if($("#A").is(':checked')) 
    { 
     $("#B").attr("disabled", true); 
     $("#C").attr("disabled", true); 
    } 
    else 
    { 
     $("#A").attr("disabled", false); 
     $("#B").attr("disabled", false); 
     $("#C").attr("disabled", false); 
    } 
    }); 

Может кто-нибудь, пожалуйста, помогите мне с этим

+2

Используйте '.prop()' вместо '.attr()'. Как и в jQuery 1.6, метод '.prop()' предоставляет возможность явно извлекать значения свойств, тогда как '.attr()' получает атрибут – Satpal

+0

Ваш код работает нормально, просто включите файл jquery, см. JSFIDDLE => http://jsfiddle.net/hpbpv95q/ – TechGirl

+1

_check флажки B и C одновременно _.... Как? – Jai

ответ

1

Вам необходимо обновить условия: JSFIDDLE

$("#B").change(function() { 
    if ($("#B").is(':checked')) { 
     $("#A").attr("disabled", true); 
    } else { 
     if ($("#C").is(':checked')) { 
      $("#A").attr("disabled", true); 
     } else { 
      $("#A").attr("disabled", false); 
      $("#B").attr("disabled", false); 
      $("#C").attr("disabled", false); 
     } 
    } 
}); 

$("#C").change(function() { 
    if ($("#C").is(':checked')) { 
     $("#A").attr("disabled", true); 
    } else { 
     if ($("#B").is(':checked')) { 
      $("#A").attr("disabled", true); 
     } else { 
      $("#A").attr("disabled", false); 
      $("#B").attr("disabled", false); 
      $("#C").attr("disabled", false); 
     } 
    } 
}); 

$("#A").change(function() { 
    if ($("#A").is(':checked')) { 
     $("#B").attr("disabled", true); 
     $("#C").attr("disabled", true); 
    } else { 
     $("#A").attr("disabled", false); 
     $("#B").attr("disabled", false); 
     $("#C").attr("disabled", false); 
    } 
}); 
Смежные вопросы