Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > scriptaculous перетаскивание обекта


Автор: Andres 26.5.2008, 01:08
Короче я пишу на пхп, но жизнь заставляет и js учить. Столкнулся с такой задачей и не знаю как ее решить. Пишу онлайн форму для отправки состава футбольной команды. И решил тут немного приукрасить и упростить задачу для юзеров, сделав все визуально. Пока не дорисовывал обработку и т.п. Вывожу слева список игроков и перетаскиваю их на право, где хотел бы сделать не просто список (это и так получилось), а вид поля и разметкой по позициям. Так вот главная проблема, как разбить div на зоны и чтоб в каждой зоне можно было поставить только одного игрока?
Код

function build($id){ 
        $con="<h3 align=center>Состав на игру</h3> 
        <div class=sostav> 
         
        <div id=\"squard\">"; 
         
        foreach ($this->m['db']->query("select * from players where team='$id' order by pos") as $r){ 
            $con.="<div id=\"squard_".$r['id']."\">".$r['name']."</div>"; 
        } 
         
        $con.="</div> 
         
        <div id=match> 
        </div> 
         
        </div>"; 
         
         
        $con.=" 
<script type=\"text/javascript\"> 
 // <![CDATA[ 
   Sortable.create(\"squard\", 
     {dropOnEmpty:true,tag:'div', revert: true,containment:[\"squard\",\"match\"],constraint:false, 
      onChange:function(){\$('squard_debug').innerHTML = Sortable.serialize('squard') }}); 
   Sortable.create(\"match\", 
     {dropOnEmpty:true,tag:'div',handle:'handle',containment:[\"squard\",\"match\"],constraint:false, 
     onChange:function(){\$('match_debug').innerHTML = Sortable.serialize('match') }}); 
 // ]]> 
 </script> 
  
 "; 
$this->pm_show($con); 
    }  


Автор: bars80080 26.5.2008, 10:03
вложить в него одиннадцать дивов и уже их проверять на наличие есть/нет ?

Автор: Andres 26.5.2008, 14:08
Цитата(bars80080 @ 26.5.2008,  10:03)
вложить в него одиннадцать дивов и уже их проверять на наличие есть/нет ?

То есть создать одинадцать отдельных дроп зон?
Хм, я как-то об этом не думал, надо попробовать...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)