2013-03-13 66 views
0

当用户在我的树中选择一行或多行时,我想将该行的ID设置到我的存储代理的url上。这里是我当前的代码:在extjs中传递两个id s 4多重选择并在单击时传递一个id

var treePanel = Ext.create('Ext.tree.Panel', { 
    id: 'tree-panel', 
    title: 'Taxonomy', 
    region:'west', 
    collapsible: true, 
    split: true, 
    multiSelect: true,       
    height:'100%',  
    width: '20%', 
    minWidth: 100, 
    rootVisible: false, 
    autoScroll: true, 
    store: store, 
    viewConfig: { 
     allowCopy: true, 
     plugins: { 
      ptype:  'treeviewdragdrop', 
      appendOnly: true, 
      ddGroup: 'selDD' 
     } 
    } 
}); 

,这里是我在哪里设置“选择”事件的代码:

treePanel.getSelectionModel().on('select', function(selModel, record) { 
    var selectedNode = treePanel.getSelectionModel().getSelection(); 
    if (multiSelect,true) { 
     treeID=selectedNode[0].data.id; 
     //if(treeID = 'null'){ 
     store1.proxy.url='json/json.php?taxee_id=<?php echo $taxe_id;?>&id=' + selectedNode[0].data.id ; 
     store1.load(); 
    } 
    else 
    { 
     store1.proxy.url='json/json.php?taxee_id=<?php echo $taxe_id;?>&id=' + selectedNode[0].data.id + '&id1='+ selectedNode[1].data.id ; 
     store1.load(); 
    } 
}); 

回答

0

这会为你工作,如果这是你唯一的问题:

treePanel.getSelectionModel().on('select', function(selModel, record) { 
    var selectedNode = treePanel.getSelectionModel().getSelection(); 
    if(selectedNode.length > 0) 
    { 
     var proxyUrl = 'json/json.php?taxee_id=<?php echo $taxe_id;?>&id=' + selectedNode[0].data.id; 
     for(var i = 1; i < selectedNode.length; i++) 
      proxyUrl += '&id' + i + '='+ selectedNode[i].data.id; 
     store1.proxy.url = proxyUrl; 
     store1.load(); 
    } 
});