阳光VIP

少壮不努力,老大徒伤悲。平日弗用功,自到临期悔。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

下拉列表 learning extjs 中文

Posted on 2012-02-12 19:50  阳光VIP  阅读(169)  评论(0编辑  收藏  举报

服务器端返回json串。

String result="{rows:[{'di':'1','genre_name':'喜剧片','sort_order':'0'},{'id':'2','genre_name':'恐怖片','sort_order':'1'},{'id':'3','genre_name':'动作片','sort_order':'2'}]}";

从服务器端获取列表数据,我们还需要做些设置。首先,data sotre要知道数据格式,我们需要一个reader,这里我们用Json reader.

var genres = new Ext.data.Store({

reader: new Ext.data.JsonReader({

fields: ['id', 'genre_name'],

root: 'rows'

}),

proxy: new Ext.data.HttpProxy({

url: 'genre.jsp'

})

});

 

第一个配置项是reader,指明了要读取哪一列,根元素是哪个。这个列表仅仅是个简单的名称列表,注意我们没有用到sort_order,因为这一列中我们的data set里是不可用的。根元素包含了我们的数据数组,在这里是个rows.

我们还设置了一个proxy,用来从同一个域里获取数据。

这个例子我们其实用到了ajax,所以必须要在服务器上运行我们的页面了。

 

我们用genres.load()方法先把数据下载下来,然后再组合框中就可以看到下拉数据了。

或者可以用欲加载的方法,自动把数据下载下来。

var genres = new Ext.data.Store({

reader: new Ext.data.JsonReader({

fields: ['id', 'genre_name'],

root: 'rows'

}),

proxy: new Ext.data.HttpProxy({

url: 'data/genres.php'

}),

autoLoad: true

});