2012-02-29 105 views
0

我使用樹& treegrid查詢插件:http://www.jeasyui.com/demo/index.php 我想拖動n拖放當前存在的功能,但問題是我想複製節點,而不是移動它。 另外我想編輯treegrid節點雙擊&保存在ENTER上。我能夠編輯dbl點擊節點,但是dnt knw如何捕獲ENTER事件!下面 是,我有編輯節點實現代碼:jquery easyui樹拖放&輸入

<table id="bomSubTree" style="width:600px;height:300px"> </table> 
.......     

$('#bomSubTree').treegrid({ 
    height: 550, 
    //width:600, 
    dnd: true, 
    method: 'get', 
    treeField: 'text', 
    idField: "oid", 
    pagination: "true", 
    fitColumns: "true", 
    url: '/product_configurator/populate_sub_tree.json', 
    columns: [ 
     [{ 
      field: 'quantity', 
      title: 'Quantity', 
      width: 100, 
      editor: "numberbox", 
      align: "right" 
     } 

     ] 
    ], 
    frozenColumns: [ 
     [{ 
      title: 'Name', 
      field: 'text', 
      width: 500 
     }] 
    ], 

    onDblClickRow: function (row) { 

     $(this).treegrid('beginEdit', row.oid); 
    } 
});` 

能ANY1請幫助我!?

+1

您可以通過keycode值13捕獲Enter事件.. – 2012-03-02 06:22:30

+0

thnx that .. – Shruti 2012-03-20 07:55:52

+0

嗨,@Shruti歡迎。 :) – 2012-03-20 10:05:17

回答

0

請嘗試執行以下操作:

當您將節點定義爲可拖動時,將其恢復選項設置爲true。這意味着他們將回到他們現有的位置。

然後,修改ondrop功能,使其在拖動源將源到您的目標節點,如拖放演示

onDrop:function(e,source){ 
        if ($(source).hasClass('assigned')){ 
         $(this).append(source); 
        } else { 
         var c = $(source).clone().addClass('assigned'); 
         $(this).empty().append(c); 
         c.draggable({ 
          revert:true 
         }); 
        } 
       } 

這基本上意味着你的節點將被送回其拖動後的原始位置停止,但無論您停止拖動節點,都將被克隆和附加,並且也會再次拖動。

+0

thnx swader..but hw我可以設置回覆:真正的節點樹從JSON填充? im lil在樹木薄弱: – Shruti 2012-03-21 04:22:53

+0

我得到的錯誤:對象#有沒有方法'cloneNode' – Shruti 2012-03-21 04:40:37

+0

你能給我實際的樹木數據,所以我可以檢查一個現場的例子嗎? – Swader 2012-03-21 10:51:14