2010-10-13 3 views
3

Я использую набор кнопок JQuery, который встроен в JQuery UI. И selectmenu, который является дополнением ui.Проблема при удалении дисплея: нет с JQuery

.buttonset(); берет группу кнопок и превращает их в радиокнопки .selectmenu(); берет меню выбора и транслирует его в красивый всплывающий список.

Однако, когда я помещаю эти элементы в div с отображением свойств: none, а затем в моем javascript-коде, я удаляю экран: ни один набор кнопок не имеет закругленных углов, а меню выбора отображается около 2 пикселей в ширину , хотя я могу нажать на эти два пикселя, чтобы открыть меню.

Любые идеи? Я отправлю мой код:

.hidden 
{ 
    display:none; 
} 


     $("#test").selectmenu(); 
     $("#radioset").buttonset(); 

<div id="mydisplay" class="hidden"> 
    <div id="radioset"> 
         <input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1testetstes</label> 
         <br /><input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label> 
         <br /><input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label> 
        </div> 
    <select name="test" id="test"> 
      <option value="slow">Test1</option> 
      <option value="test2">Test2</option> 
      <option value="test3">Test3</option> 
      </select> 
</div> 

И в какой-то момент я называю это:

$("#mydisplay").removeClass("hidden"); 

Но объекты не отображаются должным образом ... я могу заставить их вновь сделать или что-то?

ответ

1

Вместо удаления класса, который не показывает отображение элементов, используйте display: block; в css для класса .hidden. И затем используйте $ ('. Hidden'). Hide() вместе с $ ('. Hidden'). Show(), чтобы скрыть и показать все это.

Как так:

$(document).ready(function(){ 
    $('.hidden').hide(); 
    $('.someButtonThatShowsStuff').click(function(){ 
     $('.hidden').show(); 
        $("#test").selectmenu(); 
        $("#radioset").buttonset(); 
    }); 
}); 

EDIT: Модифицированный код для применения визуальных плагинов после показа элементов.

+0

тот же эффект от выбранного объекта, который не отображается правильно, когда я вызываю шоу. – kralco626

+0

Возможно, вы захотите попробовать применить плагины после отображения элементов. Я изменил ответ на этот вопрос. –

+0

ugh. Надеюсь, мне это не нужно. У меня есть много div, которые я скрываю и показываю регулярно. Было очень досадно, чтобы динамически применять плагины после показа/скрытия div. Я попробую и дам вам знать ... – kralco626

Смежные вопросы