2015-05-11 4 views
0

I нагрузить два различных компонента (A, B), где я могу перетаскивать элементы из А в Б.Как самостоятельно подать web2py-компонент на изменения-события

Можно ли вызвать " self-submit "на компоненте B и передавать аргументы при изменении контейнера с таргетингом на цель? Спасибо заранее.

Edit 1: components очень простые решения, A отображает список, какие элементы можно перетаскивать (и упала до B), B пусто в начале. Я хочу достичь этого, если элемент en упал в B, информация о элементе передается контроллеру.

Редактировать 2: Между тем, я могу вызвать событие при удалении элемента. Я использовал скрипт небольшой Drag-и-Drop под названием Dragula (http://bevacqua.github.io/dragula/) - событие инициируется так:

dragula([document.querySelector(".draggable"),document.querySelector(".drag-target")]).on("drop", function() { console.log("This Works!");}); 
+1

Вам нужно добавить дополнительную информацию в свой вопрос. Каковы эти два компонента? Это вопрос, связанный с JavaScript? Вы должны добавить тег для этого. Не могли бы вы предоставить код и дополнительную информацию о вашем вопросе? –

+0

@DiogoMartins Вы были правы, в конце концов это был связанный с JavaScript вопрос. – Rockbot

ответ

0

с Massimilianos хинтов и this answer я пришел к этому решению:

Компонент а (где начинается перетаскивание) теперь содержит этот скрипт:

<script> 
    /* Provides Drag and Drop functionality */ 
    d = dragula([document.querySelector(".drag-start"), document.querySelector(".drag-target")]); 
    d.on('drop', function(el) { 
     var test1, test2, id; 
     test1 = 'test1'; /* Some information */ 
     id = $('.drag-target').attr('id'); /* The target ID */ 
     /* Pass data to the controller */ 
     $.post("{{=URL('controller', 'function')}}"+"/"+test1); 
     /* Reload data to the target id */ 
     x = web2py_component("/app/controller/function.load"+"/"+id); 
    }); 
</script> 
1

Вы можете ответить на ваше мероприятие перетащить что-то вроде:

web2py_component("/app/default/comp_b.load?yourpar=1","comp_b_id"); 

где comp_b_id это идентификатор вашего component_b без #

+0

Что вы подразумеваете под «ответом»? – Rockbot