2016-11-21 72 views
0

我试图从数据表实现DnD到Webix文本输入。 其实,我找到了一个HTML输入a sample如何在文本输入中添加放置区域?

webix.DragControl.addDrop("mytext", {  // "mytext" is a DIV id 
     $drop:function(source, target, event){ 
      var dnd = webix.DragControl.getContext(); 
      target.value = dnd.from.getItem(dnd.source[0]).title; 
     } 
    }) 

但我怎么能addDrop到Webix ui.text呢?是否有可能用某些东西替换DIV ID? 问题是,内部输入的ID是动态的(存储直到你重新加载页面),所以我没有看到任何容易理解的方法向它添加拖放区域。任何想法都表示赞赏。

下面是基于先前的样品演示:http://webix.com/snippet/14cbbeec

回答

1

脏的解决方案是addDrop到webix插件$视图属性(= DOM元素):

webix.DragControl.addDrop($$('webixText').$view, { 
    $drop:function(source, target, event){ 
    var dnd = webix.DragControl.getContext(); 
    // target is the DOM element, so have to access webix widget with id 
    $$('webixText').setValue(dnd.from.getItem(dnd.source[0]).title); 
    } 
}); 

更新片段:http://webix.com/snippet/77363e5a

+0

太好了谢谢! – Amarillo

+1

顺便说一句,我发现'$ view'可以用'getInputNode()'代替,但是有真正的区别吗? – Amarillo

+1

getInputNode对我来说听起来更好,但是它特定于表单字段。 $ view更通用 –