[转]Extjs combo数据绑定与获取

原文地址:http://www.cnblogs.com/loveme123/archive/2012/05/10/2494466.html

1、

配置combo:

{
                                columnWidth: .3,
                                layout: 'form',
                                border: false,
                                items: [{
                                    id: "txtP_Nation",
                                    name: "txtP_Nation",
                                    allowBlank: false,
                                    width: 130,
                                    fieldLabel: '民族',
                                    emptyText: '请选择民族',
                                    hiddenName: 'PM_id', //真正提交时此combo的name,请一定要注意
                                    xtype: 'combo',
                                    editable: false,
                                    store: strNation,//设置数据源
                                    displayField: 'PM_Name', //显示文本字段
                                    valueField: 'PM_id',//value值字段id
                                    mode: 'local',
                                    triggerAction: 'all',,//请设置为"all",否则默认为"query"的情况下,你选择某个值后,再此下拉时,只出现匹配选项,如果设为"all"的话,每次 下拉均显示全部选项
                                    selectOnFocus: true,
                                    typeAhead: true
                                }]
                            }

           2、数据源:

     var strNation = new Ext.data.Store({
                proxy: new Ext.data.HttpProxy(
                    {
                        url: '../form/Ala_HomeOtherPeople.ashx?cmd=GetParmater&type=nation'
                    }
                ),
                reader: new Ext.data.JsonReader(
                    { root: 'data' },
                    [
                        { name: 'PM_id', type: 'string' },//id
                        { name: 'PM_Name', type: 'string' }//名称
                    ]
                )
            });
            strNation.load();

编辑或修改数据时需要把要修改的数据显示在combo中:

  strNation.load({ callback: function () {
                    Ext.getCmp("txtP_Nation").setValue(json.P_Nation);//json.P_Nation 为数据id
                }
                });

获取combo选中的id值:

  var P_Nation = Ext.getCmp("txtP_Nation").getValue();

posted @ 2016-03-21 10:38  dirgo  阅读(404)  评论(0编辑  收藏  举报