2012-08-04 1 views
0

일부 데이터를 표시하기 위해 jquery ui accordion을 사용하고 있는데, 패널이 두 개 이상이면 모든 패널을 닫으려고합니다. active:true 하나의 패널. 아코디언 활성화 : 하나의 패널이 포함되어 있으면 true

$(function() { 
       $("#accordion").accordion({autoHeight:false, collapsible: true, navigation: true, 
        clearStyle: true, active: false, 
        change: function(event, ui) { 
         resize_iframe(); 
        }, 
        create: function(event, ui) { 
        if($("#accordion div").length == 1) { 
         $(this).accordion({active:true}); 
        } 
       } 
       }); 
      }); 

나는이 시도하지만, 패널은 항상 사람이 문제가 어디 알 수 있도록, 하나 개의 패널이 있더라도 닫혀 작동하지 않습니다?

답변

0

방금 ​​두 개의 다른 구성을 생성하고 조건을 기반으로 아코디언을 만드는 문제에 대한 해결책을 찾았습니다.

$(function() { 
      var more = {autoHeight:false, collapsible: true, navigation: true, 
        clearStyle: true, active: false, 
        change: function(event, ui) { 
         resize_iframe(); 
        } 
       }; 
       var one = {autoHeight:false, collapsible: true, navigation: true, 
        clearStyle: true, active: true 
        change: function(event, ui) { 
         resize_iframe(); 
        } 
       } 
       if($("#accordion div").length == 1) { 
       $("#accordion").accordion(one); 
       } else { 
        $("#accordion").accordion(more); 
       } 
      }); 
0

당신은 또한 JQuery와 내부의 아코디언 컨트롤의 종료 후 시도 할 수 있습니다 :이 일하는 것이 희망

$(function() { 
    if($("#accordion div").length == 1) { 
      $("#accordion").accordion(); 
      $("#accordion div").css("display", "block"); 
    }else 
    { 
      $("#accordion").accordion({autoHeight:false, collapsible: true, navigation: true, 
       clearStyle: true, active: false, 
       change: function(event, ui) { 
        resize_iframe(); 
       }); 
    } 

}); 

,