Использование аккордеона и плагина "sexy combo" - PullRequest
0 голосов
/ 14 сентября 2009

Я новичок и у меня возникла следующая проблема ...

чехол:

У нас есть аккордеон, а внутри этого аккордеона - секси комбо-бокс

    <html> 
<head> 
  <link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" /> 

  <script src="http://code.jquery.com/jquery-latest.js"></script> 

  <script type="text/javascript" src="../../../../Library/WebServer/Documents/sexy-combo/lib/jquery.sexy-combo-2.1.2.min.js"></script> 
  <script type="text/javascript" src="../../../../Library/WebServer/Documents/sexy-combo/examples/usage.js"></script> 
  <script type="text/javascript" src="../../../../Library/WebServer/Documents/sexy-combo/jquery.autogrow.js"></script> 
  <script type="text/javascript" src="../../../../Library/WebServer/Documents/sexy-combo/lib/jquery-1.3.2.min.js"></script> 
  <script type="text/javascript" src="../../../../Library/WebServer/Documents/sexy-combo/lib/jquery.bgiframe.min.js"></script> 
  <script type="text/javascript" src="../../../../Library/WebServer/Documents/sexy-combo/development-bundle/ui/ui.core.js"></script> 
  <script type="text/javascript" src="../../../../Library/WebServer/Documents/sexy-combo/development-bundle/ui/ui.accordion.js"></script> 

  <link rel="stylesheet" type="text/css" href="../../../../Library/WebServer/Documents/sexy-combo/lib/sexy-combo.css" /> 
  <link rel="stylesheet" type="text/css" href="../../../../Library/WebServer/Documents/sexy-combo/skins/sexy/sexy.css" /> 

 <script type="text/javascript"> 

    $(document).ready(function(){ 
    $("#accordion").accordion(); 
    $("#basic-combo").sexyCombo(); 
  }); 
  </script> 


</head> 
<body style="font-size:62.5%;"> 

<div id="accordion"> 
   <h3><a href="#">Form A</a></h3> 
   <div> 
      <p>Please fill out the following:</p> 
      <p>1. What cookies do you like?</p> 
      <p><select id="basic-combo" name="resObj"  size="2"> 
           <option>jelly</option> 
           <option>biscuit</option> 
           <option>chocolate</option> 
            </select> 
        </p> 
      <p>2. What ice cream do you like?</p> 
      <p><select id="empty-combo" name="sort"  size="2"> 
           <option>strawberry</option> 
           <option>chocolate</option> 
           <option>vanilla</option> 
            </select></p> 
      <p>3. please tell us, how did you get attention to this site?</p> 
      <p> 
         <textarea style="width: 400px; height: 84px; min-height: 80px;" class="expanding" name="myTextarea"></textarea> 
      </p> 
   </div> 

<h3><a href="#">Form B</a></h3> 
   <div> 
      <p>4. Please tell us the minimum and max amount of chocolate that you eat:</p> 
      <p>min 
           <input name="minConsump" type="text" id="start" size="5" /> 
            max 
            <input name="maxConsump" type="text" id="finish" size="5" /> 
            required time (in minutes) that you take to eat the amount 
            <input name="reqTime" type="text" id="time" size="5" /> 

      </p> 
   </div> 
</body> 
</html> 

проблема: - Аккордеон работает отлично, но сексуальная комбо нет, вы можете просто увидеть "нормальный" блок выбора

уже пробовал / странное явление: - удаление $ ("# accordion"). accordion (); вызывает то, что сексуальная комбо работает

возможная причина: - аккордеон запускается до сексуального комбо-объекта ... после того, как сексуальный комбо-объект не загружен или не "скрыт" объектом аккордеона

Есть ли у кого-то идея, в чем может быть причина такого поведения? или как это исправить?

Прочитав некоторые темы здесь, я нашел что-то. как плагин jQuery live, и, возможно, мне нужен этот плагин для того, чтобы справиться с ним, когда загружается аккордеон, плагин sexy-combo.

С наилучшими пожеланиями

leejin

1 Ответ

0 голосов
/ 21 июля 2010

Я обнаружил аналогичную проблему при использовании sexyCombo в диалоге, поэтому стоило бы проверить, существует ли такая же проблема при использовании его с гармошкой.

После изучения разметки я понял, что высота списка была установлена ​​на 0, когда комбо отображалось в диалоге.

Я добавил грязный хак в мою локальную копию sexyCombo. Проверьте строку 194 (ish) Javascript:

this.singleItemHeight = this.listItems.outerHeight ();

По какой-то причине externalHeight () возвращает 0, поэтому я просто добавил проверку, чтобы увидеть, было ли singleItemHeight 0, и если это так, установите разумное значение.

...