• extjs Combobox动态加载数据问题,mode:local 还是remote


    1. var fabircTypeDs = new Ext.data.Store({  
    2.         proxy: new Ext.data.HttpProxy({  
    3.             url: 'province.do'  
    4.         }),  
    5.         reader: new Ext.data.JsonReader({},['pname','pid']),  
    6.         remoteSort: false  
    7.      });  
    8.      fabircTypeDs.load();  
    9.   
    10.  formPanel = new Ext.form.FormPanel({            
    11.                 bodyStyle:'padding-top:6px;',//设置控件边类型            
    12.                 defaultType:'textfield',//FormPanel内元素默认类型             
    13.                 labelAlign:'right',//设置控件的标题对齐方式  
    14.                 labelWidth:55,// 指定标签的默认长度  
    15.                 labelPad:0,// 标签与字段录入框之间的空白  
    16.                 frame:true,//设置控件边角圆弧过度        
    17.                 defaults:{//FormPanel默认设置  
    18.                     allowBlank:true,  
    19.                     158  
    20.                 },             
    21.                 items:[  
    22.                     new Ext.form.ComboBox({  
    23.                         name:'provincename',  
    24.                         fieldLabel:'省份',  
    25.                         store:fabircTypeDs,  
    26.                         blankText:'全部',  
    27.                         emptyText:'全部',  
    28.                         mode:'remote',  
    29.                         editable:false,  
    30.                         selectOnFocus:true  
    31.                     }),  

     上面是我创建Store和ComboBox的代码,想要通过proince.do从数据库读取数据,后台采用SpringMVC等框架,现在是页面出来没问题,但是

    ComboBox的数据没有加载上,也就是请求根本没有到达后台,希望哪位能指点一下,我想不到哪里出了问题,mode属性我也设置了remote。

    解决方案

    这里的关键点在这里: 
    fabircTypeDs.load(); 

    mode:'remote', 

    mode:'local' 或者client

    fabircTypeDs.load(); 表示你打开页面时就将数据取到本地,这样你下拉列表时就不需要取去服务器取数据,如果你要没加上这一句的话,你去下拉那个列表时就会动态去服务器取数据, 所以它会显示一下'loading...',这样你就明白为什么要设置mode了,mode:'remote'指的是要动态去服务器端拿数据,这样你就不 能加fabircTypeDs.load(),而mode:'local'是取本地数据的也就是javascirpt(内存)中的数据,这样当然不要加上 fabircTypeDs.load()啦!

     

    还要指定displayField:"name",valueField:"id"吧

    来源:http://www.iteye.com/topic/187723

     

    引用自:http://blog.163.com/xiao_mege/blog/static/72942753201132983543104/

  • 相关阅读:
    Flask路由系统
    Flask配置方式
    Flask应用启动流程
    Flask简介及使用
    python调用支付宝支付接口
    python调用腾讯云短信接口
    Celery简介以及Django中使用celery
    django中使用redis
    Redis之缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
    git操作
  • 原文地址:https://www.cnblogs.com/zhangmu126/p/5286257.html
Copyright © 2020-2023  润新知