2016-12-01 13 views
0

> 我有一個問題,我的jquery運行正常,但選擇多個項目時,我開始獲得未被選擇的孩子的價值。我只想要選中的父項(station_group)和子項(Unit_group)複選框。請幫助我的當前代碼。通過選擇孩子(嵌套循環內)獲得父值(文本)。處理重複的孩子值在另一個父親

$(document).on("click", "#searchButton",function() { 
       var InputString="-"; 
       $.each($('input[name="Station_group"'),function(index,item){ 
        if($(item).is('input:checked')){ 
         var StationItem =$(this).val(); 
         $.each($('input[name="Unit_group"'),function(index,item){ 
          if($(item).is('input:checked')){ 
           var unitItem = $(this).val();                
           $.each($('input[name="Alarm_group"'),function(index,item){ 
            if($(item).is('input:checked')){ 
             var alarmItem = $(this)[0].nextSibling.nodeValue;; 
             var resultString = StationItem.concat(","+unitItem+","+alarmItem+"|"); 
             InputString=InputString+resultString; 
            }; 
           }); 
          }; 
         }); 
        }; 
       }); 
      }); 

enter image description here

回答

0

很多獵頭後,我設法找到答案需要改變,而不是通過親子循環我自己question.The邏輯。我決定循環選定的孩子,然後獲得父母的價值。使用jquery parent和eq函數,我能夠找到所需的值。

$.each($('input[name="Unit_group"'),function(index,item){ 
          if($(item).is('input:checked')){ 
           var unitItem = $(this).val(); 
           var stationitem=$(this).parents('li').eq(1).find('input').val(); 
           $.each($('input[name="Alarm_group"'),function(index,item){ 
            if($(item).is('input:checked')){ 
             var alarmItem = $(this)[0].nextSibling.nodeValue;; 
             var resultString = stationitem.concat(","+unitItem+","+alarmItem+"|"); 
             InputString=InputString+resultString; 
            }; 
           }); 
          };