2013-05-20 100 views
2

打开股利我有三个复选框像chkEnglish,chkGerman,chkFrench。 根据这些复选框有三个div,并在这些div有一些文本框和按钮。 表示每个复选框都包含一个用于单独语言的表单块。我怎样才能在序列

所以我的查询是当用户检查所有复选框,然后,对于将打开。 一样,如果有人检查chkEnglish然后英文表格必须open.after,如果有人检查chkGerman 然后它会英语之下。

根据检查复选框的形式必须相应地打开......平均

+2

在这里发布我们的代码。或复制是在小提琴。 –

+0

为我们提供您曾尝试过什么以及您被卡住的地方。这对我们来说更容易支持你。 –

+0

+1 VondRitz,PLZ发布您的代码... – Rubyist

回答

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; 

} 
+0

看看这个链接http://jsfiddle.net/yZTzm/ – sachin

+0

更干燥的形式将跳过整个'if'事情,只是构建基于复选框ID的ID:'$( “#” + selectedId + “表”)显示();' – AKX

+0

@AKX是的,你是对的。 – sachin

0

只是给一个提示如何合作ULD做(我知道有很多方法):

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

0

对下面的代码一看:

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