Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.06.2010, 18:11
Аватар для cyberx
Аспирант
Отправить личное сообщение для cyberx Посмотреть профиль Найти все сообщения от cyberx
 
Регистрация: 02.02.2010
Сообщений: 50

После первого действия скрипт перестает работать
Возникла одна проблема. Вот скрипт который делает сортировку у перетаскивание с добавлением в базу, проблема в том что после первого действия скрипт перестаёт работать, после первого запроса уже не отсылается и не работает сортировка, вроде firebug ничего не показал
var dropped = false;
var templateHtml;
$(document).ready(function(){

function addlist(param)
 {
   $.ajax({
           url: 'index.php',
           data: 'drop='+encodeURIComponent(param),
           type: 'POST',
           dataType: 'php',
           success: function(msg)
            {       
             if(parseInt(msg)!=0)
              {
               $('#pageContent').html(msg);     
              }
            }
      });
 }
 
setSortable();
   $("#droppable").droppable({
       accept:".drop",
       drop:function(event,ui){
           dropped = true;
           addlist(ui.draggable.text());
       }
   });
 
});

function setSortable(){

       $("#sortable").sortable({ opacity: 0.6, cursor: 'move', update: function() {
           var order = $(this).sortable("serialize") + '&action=listing';
           $.post("index.php", order, function(theResponse){
               $("#pageContent").html(theResponse);
           });                                                             
       }                                 
       });

 
   $("#sortable li").addClass("drop").bind('mousedown',function(){
       templateHtml = $("#sortable").html();
   });
}


<div  id="pageContent">

<ul id="sortable">
<li id="one">One</li>
<li id="two">Two</li>
<li id="three">Three</li>
<li id="four">Four</li>
<li id="five">Five</li>
<li id="six">Six</li>
</ul>

<div id="droppable">

</div>

</div>
Ответить с цитированием
  #2 (permalink)  
Старый 08.06.2010, 21:21
Аватар для cyberx
Аспирант
Отправить личное сообщение для cyberx Посмотреть профиль Найти все сообщения от cyberx
 
Регистрация: 02.02.2010
Сообщений: 50

Вот я зарегистрировался на бесплатном хостинге и тут видно что происходит

http://drop.netau.net/index.php

А вот вторая версия, тут я направляю на #droppable и работает, но сбивается дизайн

http://drop.netau.net/index2.php
Ответить с цитированием
  #3 (permalink)  
Старый 11.06.2010, 05:30
Аватар для cyberx
Аспирант
Отправить личное сообщение для cyberx Посмотреть профиль Найти все сообщения от cyberx
 
Регистрация: 02.02.2010
Сообщений: 50

Не можете решить эту проблему?
Ответить с цитированием
  #4 (permalink)  
Старый 11.06.2010, 11:13
Аватар для sysya
Профессор
Отправить личное сообщение для sysya Посмотреть профиль Найти все сообщения от sysya
 
Регистрация: 27.12.2009
Сообщений: 292

А что делает dropped = true; ?
__________________
Нет предела совершенству...
Ответить с цитированием
  #5 (permalink)  
Старый 11.06.2010, 20:37
Аватар для cyberx
Аспирант
Отправить личное сообщение для cyberx Посмотреть профиль Найти все сообщения от cyberx
 
Регистрация: 02.02.2010
Сообщений: 50

Я а не знаю, я нашел простой скрипт который делал просто сортировку и перебрасывание вез поста. Я только начал осваивать js и решил добавить асинхронный запрос, но не получается. Вот оригинал
<script type="text/javascript">

var dropped = false;
var templateHtml;
$(document).ready(function(){

    setSortable();

    $("#droppable").droppable({
        activeClass: 'active',
        hoverClass:'hovered',
        accept:".drop",
        drop:function(event,ui){
            dropped = true;
            //alert(ui.draggable.text());
        }
    });
   
});

function setSortable(){
    $("#sortable").sortable({
        stop:function(event,ui){
            if(dropped){
                $("#sortable").sortable('destroy').html(templateHtml);
                dropped = false;
                setSortable();
            }
        }
    });
   
    $("#sortable li").addClass("drop").bind('mousedown',function(){
        templateHtml = $("#sortable").html();
    });
}

    </script>


<ul id="sortable">
<li id="one">One</li>
<li id="two">Two</li>
<li id="three">Three</li>
<li id="four">Four</li>
<li id="five">Five</li>
<li id="six">Six</li>
</ul>

<div id="droppable">
Drop Here
</div>


Вот я изменил и не работает

<script type="text/javascript">

var dropped = false;
var templateHtml;
$(document).ready(function(){

function addlist(param)
{
$.ajax({
url: 'index.php',
data: 'drop='+encodeURIComponent(param),
type: 'POST',
dataType: 'php',
success: function(msg)
{
if(parseInt(msg)!=0)
{
$('#pageContent').html(msg);
}
}
});
}

setSortable();
$("#droppable").droppable({
accept:".drop",
drop:function(event,ui){
dropped = true;
addlist(ui.draggable.text());
}
});

});

function setSortable(){

$("#sortable").sortable({ opacity: 0.6, cursor: 'move', update: function() {
var order = $(this).sortable("serialize") + '&action=listing';
$.post("index.php", order, function(theResponse){
$("#pageContent").html(theResponse);
});
}
});


$("#sortable li").addClass("drop").bind('mousedown',function(){
templateHtml = $("#sortable").html();
});
}

</script>

<div id="pageContent">

<ul id="sortable">
<li id="one">One</li>
<li id="two">Two</li>
<li id="three">Three</li>
<li id="four">Four</li>
<li id="five">Five</li>
<li id="six">Six</li>
</ul>

</div>


<div id="droppable">

drop here

</div>
Ответить с цитированием
  #6 (permalink)  
Старый 12.06.2010, 05:54
Аватар для sysya
Профессор
Отправить личное сообщение для sysya Посмотреть профиль Найти все сообщения от sysya
 
Регистрация: 27.12.2009
Сообщений: 292

Никогда, если честно, не приходилось пользоваться такими плагами...

Почитайте о сортировщике: http://slyweb.ru/jquerydoc/sortable-options.php
и про droppable: http://slyweb.ru/jquerydoc/droppable-options.php
__________________
Нет предела совершенству...
Ответить с цитированием
  #7 (permalink)  
Старый 12.06.2010, 21:04
Аватар для cyberx
Аспирант
Отправить личное сообщение для cyberx Посмотреть профиль Найти все сообщения от cyberx
 
Регистрация: 02.02.2010
Сообщений: 50

Вот именно что без пост запроса они работают, в оригинальном скрипте все работает, проблема появляется когда я добавляю асинхронии запрос
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перестает работать lightbox после .load(); toha.chan jQuery 1 14.04.2010 15:37
Как запустить скрипт после отработки другого скрипта? roman2 Общие вопросы Javascript 2 10.08.2009 00:23
отказываеться работать скрипт в opere и firefox NeBabNik Общие вопросы Javascript 4 19.05.2009 12:12
imgfade скрипт перестал работать в IE 8 DaVinchi Internet Explorer 1 17.04.2009 00:55