我怎样才能按顺序打开Div

时间:2013-05-20 06:36:54

标签: javascript jquery html

我有三个复选框,如chkEnglish,chkGerman,chkFrench。 根据这些复选框,有三个div,在这些div中有一些文本框和按钮。 表示每个复选框都包含一个表单块,表示单独的语言。

所以我的查询是当用户选中任何复选框时,那将打开。 就像有人检查chkEnglish然后英语表格必须打开。之后如果有人检查chkGerman 然后它将归入英语。

根据复选框的意思,那些表格必须相应打开......

3 个答案:

答案 0 :(得分:0)

HTML

  <input type="radio" name="a" id="english" value="english"/>English<br/>
  <input type="radio" name="a" id="german" value="german"/>German<br/>
  <input type="radio" name="a" id="french" value="french"/>French

  <div id="englishForm" class="myForm">english</div>
  <div id="germanForm" class="myForm">german</div>
  <div id="frenchForm" class="myForm">french</div>

的js

$("input[name='a']").change(function(event) {

    var selectedId=$(this).attr('id');
     $('.myForm').hide();
     $("#" + selectedId + "Form").show();
});

CSS

.myForm{

  display:none;

}

答案 1 :(得分:0)

只是暗示如何做到(我知道有很多方法):

 var chkName = [......], // Array which holds check boxes id's 
     divName = [......], // Array which holds div elements id's
     prevVisibleDiv;
 for(var i=0; i < chkName.length; i++){
     if(chkName[i].checked){             
         if(prevVisibleDiv){ //condition for the first time.
            //hide prevVisibleDiv
         }
         //show divName[i]
         //store the current visible div inside prevVisibleDiv
         prevVisibleDiv = divName[i];             
     }
}

Working Fiddle

答案 2 :(得分:0)

查看以下代码:

$("input[name='a']").live('click',
function()
{
    var Id = $(this).attr('id');
    $("#" +Id+ "Form").show();
});