recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - condition de case à cocher

<input id="a1" type="checkbox">
<label for="a1">1</label>
<input id="a2" type="checkbox">
<label for="a2">2</label>
<input id="a3" type="checkbox">
<label for="a3">3</label>
<input id="a4" type="checkbox">
<label for="a4">4</label>
<input id="a5" type="checkbox">
<label for="a5">5</label>

<script>
$(function()
{
  disabledOtherBox();
  $("#a1").click(disabledOtherBox);
  disabledA1Box();
  $("#a2,#a3,#a4,#5").click(disabledA1Box);
});

function disabledOtherBox()
{
  if (this.checked)
  {
    $("#a2,#a3,#a4,#a5").attr("disabled", true);
  }
  else
  {
    $("#a2,#a3,#a4,#a5").removeAttr("disabled");
  }
}

function disabledA1Box()
{
  if (this.checked)
  {
    $("#a1").attr("disabled", true);
  }
  else
  {
    $("#a1").removeAttr("disabled");
  }
}
</script>

Voici les conditions que j'ai écrites
Si a1 est coché
a2~5 est verrouillé

Si l'un des a2~a5 est coché
, alors a1 est verrouillé

Je veux ajouter une autre condition mais je n'arrive toujours pas à la comprendre
C'est-à-dire, en supposant que l'un des a2~5 est coché (ou que deux, trois ou quatre sont tous cochés)
alors a1 est verrouillé
à moins que a2 ~ 5 n'est pas coché
alors a1 sera activé

習慣沉默習慣沉默2750 Il y a quelques jours658

répondre à tous(1)je répondrai

  • 習慣沉默

    習慣沉默2017-05-19 10:49:09

    <script>
        $(function(){
            var a1 = $("#a1");
            var other = $("#a2,#a3,#a4,#a5");
            
            a1.click(function(){
                disabledBox(other,this.checked)
            });
            
            other.click(function() {
                  var r = false;
                
                other.each(function() {
                    if(this.checked) {
                        r = true;
                        return false;
                      }
                })
                  
                  disabledBox(a1,r)
            });
           
            //如a1已勾选,则#a2,#a3,#a4,#5锁住
            //disabledBox(other,a1.attr('checked'))
            
            //如#a2,#a3,#a4,#5其中一个或多个已勾选,则a1锁住
            other.each(function() {
                 if(this.checked) {
                    disabledBox(a1,true)
                     return false;
                 }
            })
        });
        
        function disabledBox(el,disabled){
            el.attr("disabled", !!disabled);
        }
    </script>

    répondre
    0
  • Annulerrépondre