Проблема изменения ширины диалогового окна jQuery - PullRequest
0 голосов
/ 19 апреля 2010

Я пытаюсь загрузить HTML-код в диалог jQueryUI с помощью AJAX. Сам код представляет собой список, где крайние правые элементы должны быть расположены абсолютно так, чтобы список выглядел как таблица с двумя столбцами, но только в некоторых строках. Проблема в том, что плагин jQueryUI, похоже, неправильно изменяет ширину диалога, что, я думаю, связано с абсолютным позиционированием некоторых li. Я прочитал некоторые ответы на другие подобные вопросы, но никто не помог мне с этим.

Это код, который я загружаю:

 <style type="text/css">

     ul {list-style-type:none;margin:0px;padding:0px;}
     ul ul  {margin:0px;padding:0px;}
     ul>li.fila {margin-bottom:5px;padding-bottom:5px;}

     ul li.fila ul li
     {
      display:inline;
      padding-left:20px;
      position:relative;
      margin-bottom:10px;
     }
     ul li.fila ul li.O  
     {
      background:url(bullet.gif) 5px 8px no-repeat;
      list-style-position:inside;
     }

    </style>

    <ul id="raiz" >
     <li class="fila">
      <ul >
       <li style="position:absolute;left:0px;" class="O">
        <label for="col1">Col1:</label>
        <input type="text" name="col1" id="col1" value="vCol1" class="text ui-widget-content ui-corner-all" />
       </li>
       <li  style="left:250px;" class="O" >
        <label for="col2">Col2:</label>
        <input type="text" name="col2" id="col2" value="vCol2" class="text ui-widget-content ui-corner-all" />
       </li>
      </ul>
     </li>
     <li class="fila">
      <ul >
       <li>
        <label for="col3">Col3:</label>
        <input type="text" name="col3" id="col3" value="vCol3" class="text ui-widget-content ui-corner-all" />
       </li>
      </ul>
     </li>
    </ul>

И конструктор Dialog:

$("#dialog").dialog({
        bgiframe: true,
        autoOpen: false,
        height: 'auto',
        width: 'auto',
        modal: true,
        buttons:{
            'Cancel': function() {
                $(this).dialog('close');
            }
        },
        open: function(event,ui){               
            $("#dialog").load("dialogCode.html");
        }
    }); 

Заранее спасибо за любые предложения.

1 Ответ

0 голосов
/ 19 апреля 2010

если вы хотите отобразить элементы списка в табличном формате, используйте свойство FLOAT CSS, а не абсолютное позиционирование
Я обновил HTML-код, и теперь он работает нормально

<style type="text/css">

 ul {list-style-type:none;margin:0px;padding:0px;}
 ul ul  {margin:0px;padding:0px; clear:both}
 ul>li.fila {margin-bottom:5px;padding-bottom:5px;}

 ul li.fila ul li
 {
  display:inline;
  padding-left:20px;
  position:relative;
  margin-bottom:10px;
 }
 ul li.fila ul li.O  
 {
  background:url(bullet.gif) 5px 8px no-repeat;
  list-style-position:inside;
 }

</style>

<ul id="raiz" >
 <li class="fila">
  <ul >
   <li style="position:relative; float:left;left:0px;" class="O">
    <label for="col1">Col1:</label>
    <input type="text" name="col1" id="col1" value="vCol1" class="text ui-widget-content ui-corner-all" />
   </li>
   <li  style="position:relative; float:left;" class="O" >
    <label for="col2">Col2:</label>
    <input type="text" name="col2" id="col2" value="vCol2" class="text ui-widget-content ui-corner-all" />
   </li>
  </ul>
 </li>
 <li class="fila">
  <ul >
   <li style="position:relative; float:left;">
    <label for="col3">Col3:</label>
    <input type="text" name="col3" id="col3" value="vCol3" class="text ui-widget-content ui-corner-all" />
   </li>
  </ul>
 </li>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...