复选框问题

时间:2015-03-02 19:15:27

标签: javascript jquery html checkbox

这是我的问题:

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

1 个答案:

答案 0 :(得分:0)

在Divs选项卡中添加一个类,对于您希望同时选中/取消选中的每个复选框使用相同的类。

示例:

<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:代码,但我将其保留在那里以防以后对您有用。