English 中文(简体)
Get the clicked JSON element s value with ExtJS
原标题:

I have a JSON store:

var jsonstore = new Ext.data.ArrayStore({
    fields: [ bla ,  blubb ],
    data: [ [ bla ,  blubb ],
            [ blabla ,  blublu ],
            [ blass ,  hallo ],
            [ bam ,  guckt ] ]
});

and an extjs listview:

....
,{
       xtype:  listview ,
       name:  abrufliste ,
       store: jsonstore,
       id:"ladebereich",
       multiSelect: false,
       emptyText:  nix da ,
       reserveScrollOffset: true,
       columns: [ { header:  Name ,
                    width: .5,
                    dataIndex:  NAME  } 
....

and a click event:

Ext.ComponentMgr.get( ladebereich ).on("click",function (sthis,index,node,e ){ 
    alert("node:  "+node.childNodes[0].childNodes[0].innerHTML);});

I want to get the clicked node s value.

I do get the value with

node.childNodes[0].childNodes[0].innerHTML

, however thats a crappy solution.

I want to get the clicked Element from my jsonstore, any suggestions?

问题回答

Another way is to add a listener to your listview to respond to any click events on the listview:

,{
   xtype:  listview ,
   name:  abrufliste ,
   store: jsonstore,
   id:"ladebereich",
   multiSelect: false,
   emptyText:  nix da ,
   reserveScrollOffset: true,

   listeners:
   {
       click: function(object, selectedIndex, node, event) {
           // Get the name corresponding to the selected row.
           var rowName = object.store.getAt(selectedIndex).get("Name");
       }
   },

   columns: [ { header:  Name ,
                width: .5,
                dataIndex:  NAME  } 

it works with

Ext.ComponentMgr.get( ladebereich ).on("click",function (sthis,index,node,e ){

    var rec = jsonstore.getAt(index);
    alert(rec.get("NAME"));
});




相关问题
ExtJS load form items/fields from database

I am using ExtJS 3 here. I would like to populate a formpanel from database with fields to be submitted. Basically, I don t know witch fields my form will have and I want to generate all formpanel ...

How to use Ext JS for role based application

I am planning to use Ext JS for a large application. The application s features are role based. When user login, they only see menu and screen features related to them. My server side technology will ...

Dynamically adding a TabPanel to a Panel Region

I have a Panel layout with a TreePanel in one region. A user clicks on an node in the tree and a TabPanel should be displayed in another region with information, editing tools etc. for that tree node....

How to embed Json result within Extjs Panel?

I have some issues with Json result and embed it within the html of the Extjs Panel. Here s that I have managed to get so far. myPanel is embedded within a mainPanel, and I have some shows/hide of ...

Ajax data update. Extjs

I need to keep certain data ( in a grid) up to date and was gonna do a poll to the server every 15 seocnds or so to get the data and refresh the grid, however it feels a bit dirty ( the grid will have ...

Better way to call superclass method in ExtJS

All the ExtJS documentation and examples I have read suggest calling superclass methods like this: MyApp.MyPanel = Ext.extend(Ext.Panel, { initComponent: function() { // do something MyPanel ...

Merged Headers in Ext JS Grid

Is it possible to have two headers in Ext JS grids? I have to show my grid as grouped data.. for example product types and products. In my case I need a grid like this: Field | Product Type A ...

热门标签