Drag & Drop – volání Handlu

před 5 měsíci

MW
Člen | 582
+
0
-

Zdravím a prosím o radu.

Tvořím kalendář a rád bych použil Drag&Drop. Řešil jste toto někdo prosím? Nemáte někdo prosím nějaký vzor, jak po dropu zavolat handle s parametry obou objektů ?

Moc díky

Editoval MW (9. 5. 15:46)

před 5 měsíci

GEpic
Člen | 559
+
0
-

Ahoj, záleží jakou používáš knihovnu (jestli jen na drag / drop nebo přímo nějakou kalendářovou) – zda-li má implementovaný nějaký event – něco jako onDrop nebo tak, pak je to jednoduché.

Editoval GEpic (9. 5. 16:20)

před 5 měsíci

MW
Člen | 582
+
0
-

Žádnou komponentu.. čistě jen jquery nebo html5, které to taky umí.., ale JS moc nevládnu a tak si nechám poradit.
Měl by jsi prosím nějaký vzor?

před 5 měsíci

MW
Člen | 582
+
0
-

Nikdo prosím?
Použití D&D jsem našel spousty, ale jde me hlavně o to, jak předám nějaké parametry do handlu…

Díky :)

před 5 měsíci

GEpic
Člen | 559
+
0
-

Pokud ti jde o tohle, tak příkladů jak zavolat ajaxem handle je na fóru dost. :)

před 5 měsíci

MW
Člen | 582
+
0
-

Ano, jak volat handle je dost, ale jak dostat parametry do handlu už tolik ne, když je potřebuji získat z těch prvků.. proto se ptám a ptal jsme se, jestli někdo něco podobného neřešil a poslal by příklad. Třeba na to jdu úplně blbě a jde to lépe…

Skončil jsem zde. Toto mě na dropu zavolá handle, ale data nikde.. snažím se tam dostat ty id z těch elementů.

<script>
function allowDrop(ev) {
    ev.preventDefault();
}

function drag(ev) {
    ev.dataTransfer.setData("text", ev.target.id);
}

function drop(ev) {
    ev.preventDefault();
    var data = ev.dataTransfer.getData("text");
    ev.target.appendChild(document.getElementById(data));

    $.ajax({
        url: {link test!, info => data}
    });

}
</script>
{foreach $daysOfTheWeek as $day}

            <td id="{$day}" ondrop="drop(event)" ondragover="allowDrop(event)">
                {$day}
                <p id="{$source->ident_auto}" draggable="true" ondragstart="drag(event)">{$source->ident_auto}</p>
            </td>

{/foreach}

EDIT:
Toto je už lepší a data pošle :)

$.nette.ajax({
    'url': {link test!},
    'data': {
    info: data
    }
});

Editoval MW (16. 5. 14:52)