复选框问题

Checkboxs issue

这是我的问题:

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

例如:

第一种情况(选项卡 1): 如果用户单击复选框,它将读取隐藏字段,并将在所有选项卡的标签中设置隐藏字段值,并选中所有其他复选框

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

请帮忙!

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 = "";
         }
     }

将 class 添加到 Divs 选项卡,对您希望同时 check/uncheck 的每个复选框使用相同的 class。

示例:

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

然后,您可以获取 class 名称并将其用于 check/uncheck 所有框。

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

jsFiddle Demo


注意:您的解决方案中不需要 activate: 代码,但我将其留在那里以备日后对您有用。