2015-03-02 149 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:代碼,但我離開那裏的情況下,它是對你有用以後。