Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.01.2015, 16:15
Интересующийся
Отправить личное сообщение для FreeVice Посмотреть профиль Найти все сообщения от FreeVice
 
Регистрация: 16.05.2012
Сообщений: 18

Вопрос по Draggable
Есть два списка элементов - справа и слева. Первый - источник денег, наличные или карта, второй - статьи расходов, например продукты и развлечения.

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

Как это можно сделать? Думал еще про функцию Sortable, там есть connect lists, но не знаю как дотюнить.

Есть наверное еще более подходящий пример с shopping cart, только непонятно как две корзины сделать.

Как-то не могу докрутить образец http://jsfiddle.net/ateregulov/LLcocd83/24/
Ответить с цитированием
  #2 (permalink)  
Старый 22.01.2015, 17:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

FreeVice,
зарисовка на тему ...
перенесите слева направо блок и выберите сумму перевода
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
  <style>
    body{font:9pt Arial,sans-serif;}
    p{color:#888; margin:8px 0 12px 0}
    .wrap{position:relative; height:180px; border:1px solid white}
    .draggable{margin:15px 10px; width:105px; height:105px; padding:0.5em;
          border:1px solid #ddd; background-color:#eee}
    .droppable{position:absolute; top:0; left:160px; width:130px; height:130px; padding:0.5em;
          border:1px solid #c9c396; background-color:#eee6a3;}
  </style>
</head>
<body>
  <div class=wrap>
    <div class="droppable" data-cash=0>
      <p>0</p>
    </div>
    <div class="draggable" data-cash=1000>
      <p>1000</p>
    </div>
  </div>
  <div class=wrap>
    <div class="droppable" data-cash=0>
      <p>0</p>
    </div>
    <div class="draggable" data-cash=2000>
      <p>2000</p>
    </div>
  </div>
  <div id="transfer" title="transfer dialog"  class="image">
  <input id="sum" name="" value="0">
</div>
  <script>
$(".draggable").draggable({
    revert: true,
    helper: "clone"
});
$(".droppable").droppable({
    accept: ".draggable",
    activeClass: "ui-state-hover",
    drop: function(event, ui) {
        var data = +ui.draggable.data("cash");
        $("#sum").val(data);
        var self = this;
        $("#transfer").dialog("option", "buttons", {
            "Перевести?": function(e) {
                var val = +$("input", this).val();
                data -= val;
                ui.draggable.data("cash", data).find("p").html(data);
                var dataSelf = +$(self).data("cash");
                dataSelf += val;
                $(self).data("cash", dataSelf);
                $(self).addClass("ui-state-highlight").find("p").html(dataSelf);
                $(this).dialog("close")
            },
            "Cancel": function(e) {
                $(this).dialog("close")
            }
        });
        $("#transfer").dialog("open")
    }
});
$("#transfer").dialog({
    autoOpen: false,
    resizable: false,
    modal: true
});
  </script>

</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 23.01.2015, 09:01
Интересующийся
Отправить личное сообщение для FreeVice Посмотреть профиль Найти все сообщения от FreeVice
 
Регистрация: 16.05.2012
Сообщений: 18

круто, спасибо! а сколько на это времени ушло?
Ответить с цитированием
  #4 (permalink)  
Старый 23.01.2015, 09:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

FreeVice,
всё относительно несколько минут чтобы скомпоновать прежние наработки или несколько лет чтобы эти наработки были или взять разницу между вашим и моим сообщением
Ответить с цитированием
  #5 (permalink)  
Старый 23.01.2015, 10:41
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Не jQuery единой!
<ul id="money">
    <li>Наличные</li>
    <li>Карта</li>
</ul>
<ul id="goods">
    <li>Пирожок</li>
    <li>Кино</li>
</ul>
<script src="http://rubaxa.github.io/Sortable/Sortable.js"></script>
<script>
var source = new Sortable(money, {
    group: {pull: 'clone', put: false, name: 'spend'},
    sort: false
});

var target = new Sortable(goods, {
    group: {pull: false, put: true, name: 'spend'},
    sort: false,
    onAdd: function() {
        prompt('Введите сумму', '');
    }
});
</script>
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 23.01.2015, 11:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

danik.js,
спасибо за информацию - но зачем Sortable нужно было ТС я так и не понял
Ответить с цитированием
  #7 (permalink)  
Старый 23.01.2015, 11:23
Интересующийся
Отправить личное сообщение для FreeVice Посмотреть профиль Найти все сообщения от FreeVice
 
Регистрация: 16.05.2012
Сообщений: 18

Сообщение от рони Посмотреть сообщение
danik.js,
спасибо за информацию - но зачем Sortable нужно было ТС я так и не понял
сортировка не нужна, просто сразу не разобрался что к чему, а там был пример переноса
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос по toDataURL() GodZiLA Общие вопросы Javascript 0 03.06.2014 17:21
Всплытие событий или что то не так... Кирюха =) jQuery 6 30.03.2013 12:56
Вопрос по each() и перебору строк таблицы battrack jQuery 1 09.02.2012 14:30
Вопрос по draggable gen552 jQuery 0 21.07.2011 18:05
ui draggable + sortable satels jQuery 0 05.01.2010 11:28