cari

Rumah  >  Soal Jawab  >  teks badan

javascript - keadaan kotak semak

<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>

Di atas adalah syarat yang saya tulis
Jika a1 ditanda
a2~5 dikunci

Jika salah satu daripada a2~a5 ditandakan
, maka a1 dikunci

Saya ingin menambah syarat lain tetapi saya masih tidak dapat memahaminya
Iaitu, dengan mengandaikan bahawa satu daripada a2~5 diperiksa (atau dua, tiga, atau empat semuanya diperiksa)
maka a1 dikunci
melainkan jika a2 ~ 5 tidak ditanda
maka a1 akan dihidupkan

習慣沉默習慣沉默2750 hari yang lalu657

membalas semua(1)saya akan balas

  • 習慣沉默

    習慣沉默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>

    balas
    0
  • Batalbalas