2015-03-02 151 views
-1

这是我的问题:复选框问题

我有4个不同的复选框和4个不同的标签(复选框+标签)显示在选项卡上。我有4个选项卡,我想在JavaScript中创建一个函数,一旦用户点击其中一个复选框,它将从隐藏字段中读取值并将其设置到所有选项卡中的每个标签中,并检查所有其他复选框

例如:

第一种情形(表1): 如果复选框用户点击它会读取隐藏字段,它会在所有选项卡中设置的标签隐藏字段值和检查所有其他复选框

第二种情况(标签3): 如果用户未选中第三个标签中的复选框,它将清除返回值m其他所有标签,并取消选中所有其他复选框。

请帮忙!

JS功能:

function ValidationSectionComplete(sender, args) { 
     var sectionCompleteGeneralInfo = $find("<%= btnSectionCompleteGeneralInfo.ClientID %>"); 
     var sectionCompleteDetailsInfo = $find("<%= btnSectionCompletedDetials.ClientID %>"); 
     var sectionCompleteMedicalInfo = $find("<%= btnSectionCompletedMedical.ClientID %>"); 
     var sectionCompleteNarrativeInfo = $find("<%= btnNarrativeComplete.ClientID %>"); 

     //Get the logged in full name when the page is load. 
     var loggedInFullName = document.getElementById("<%= hfLoggedInFullName.ClientID %>").value; 

     var insertedByGeneralInfo = document.getElementById("<%=lblByGeneralInfo.ClientID %>"); 
     var insertedByDetailsInfo = document.getElementById("<%=lblByDetails.ClientID %>"); 
     var insertedByMedicalInfo = document.getElementById("<%=lblByMedicalInfo.ClientID %>"); 
     var insertedByNarrativeInfo = document.getElementById("<%=lblByNarrative.ClientID %>"); 
     if ((sectionCompleteGeneralInfo.get_checked() == true) && (sectionCompleteDetailsInfo.get_checked() == true) && (sectionCompleteMedicalInfo.get_checked() == true) && (sectionCompleteNarrativeInfo.get_checked() == true)) { 
      insertedByGeneralInfo.innerHTML = loggedInFullName; 
      insertedByDetailsInfo.innerHTML = loggedInFullName; 
      insertedByMedicalInfo.innerHTML = loggedInFullName; 
      insertedByNarrativeInfo.innerHTML = loggedInFullName; 
     } 
     else { 
      insertedByGeneralInfo.innerHTML = ""; 
      insertedByDetailsInfo.innerHTML = ""; 
      insertedByMedicalInfo.innerHTML = ""; 
      insertedByNarrativeInfo.innerHTML = ""; 
     } 
    } 
+0

想必将其作为答案选项。 – isherwood 2015-03-02 19:17:29

回答

0

添加类标签的div,使用相同的类每个复选框要检查/在同一时间取消。

例子:

<div id="tabs-3"> 
    <p>Content for Tab 3</p> 
    <label for="cb5">Car: </label><input type="checkbox" class="cbox1" id="cb5" /> 
    <label for="cb6">Bus: </label><input type="checkbox" class="cbox2" id="cb6" /> 
</div> 

然后,你可以抓住的类名,并用它来查看/取消勾选所有方块一起。

$('input:checkbox').click(function(){ 
    var cbClass = this.className; 
    if ($(this).is(':checked')){ 
     $('.'+cbClass).prop('checked',true); 
    }else{ 
     $('.'+cbClass).prop('checked',false); 
    } 
}); 

jsFiddle Demo


注:在您的解决方案不要求activate:代码,但我离开那里的情况下,它是对你有用以后。