extjs--combo动态获取数据

  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4     <link href="https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/theme-classic/resources/theme-classic-all.css" rel="stylesheet" />
  5     <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/ext-all.js"></script>
  6     <script type="text/javascript">
  7         Ext.onReady(function() {
  8             var buyTypeStore = new Ext.data.Store({
  9                 fields: ["text", "value"],
 10                 proxy: {
 11                     type: "ajax",
 12                     url: ‘./getinfo.php‘,
 13                     actionMethods: {
 14                         read: "POST",  //解决传中文参数乱码问题,默认为“GET”提交
 15                         update : ‘POST‘,
 16                         destroy: ‘POST‘
 17                     },
 18                     extraParams:{‘pra‘:‘55‘},
 19                     reader: {
 20                         type: "json",  //返回数据类型为json格式
 21                         root: "root"  //数据
 22                     }
 23                 },
 24                 autoLoad: true  //自动加载数据
 25             });
 26
 27             buyTypeStore.on("beforeload", function() {
 28                 var op = Ext.getCmp(‘radioxiao‘).getGroupValue();
 29                 var new_params = {op:op,page:1};
 30                 Ext.apply(buyTypeStore.proxy.extraParams, new_params);
 31             });
 32
 33             var genderStore = Ext.create("Ext.data.Store", {
 34                 fields: ["Name", "Value"],
 35                 data: [
 36                     { Name: "man", Value: 10 },
 37                     { Name: "woman", Value: 20}
 38                 ]
 39             });
 40
 41
 42             Ext.create(‘Ext.form.Panel‘, {
 43                 id: ‘newForm‘,
 44                 renderTo: ‘formId‘,
 45                 border: true,
 46                 width: 600,
 47                 margin:50,
 48                 items: [
 49                     {
 50                         xtype: "combobox",
 51                         name: "Gender",
 52                         fieldLabel: "gender",
 53                         store: genderStore,
 54                         editable: false,
 55                         displayField: "Name",
 56                         valueField: "Value",
 57                         emptyText: "--please--",
 58                         queryMode: "local",
 59                         id:"Gender",
 60                         listeners: {
 61                             "select": function () {
 62                                 var myc = Ext.getCmp(‘buyType‘);
 63                                 var op = Ext.getCmp(‘Gender‘).getValue();
 64                                 myc.setValue(null);
 65                                 var mycvalue = Ext.getCmp(‘buyType‘).getValue();
 66                                 buyTypeStore.removeAll();
 67                                 myc.store.load({
 68                                     callback: function (records, operation, success) {
 69                                     },
 70                                     params: {
 71                                         page: 6,//重新设置页数,不设置会使用之前的页数进行查询,导致查询结果有误
 72                                         start: 0,//重新设置起始行
 73                                         limit: 21,//重新设置每页显示行
 74                                         pra:op
 75                                     }
 76                                 });
 77                             }
 78                         }
 79
 80                     },
 81                     {
 82                         xtype: ‘radiogroup‘,
 83                         fieldLabel: ‘Radio field‘,
 84                         defaultType: ‘radiofield‘,
 85                         id: ‘radio1‘,
 86                         colums : 3,
 87                         defaults: {
 88                             flex: 1
 89                         },
 90                         layout: ‘hbox‘,
 91                         items: [{
 92                             boxLabel: ‘A‘,
 93                             inputValue: ‘a‘,
 94                             name:‘radio1‘,
 95                             id:‘radioxiao‘,
 96                             checked:true
 97                         },{
 98                             boxLabel: ‘B‘,
 99                             inputValue: ‘b‘,
100                             name:‘radio1‘
101                         },{
102                             boxLabel: ‘C‘,
103                             inputValue: ‘c‘,
104                             name:‘radio1‘
105                         }
106                         ],
107                         listeners :{
108                             ‘change‘:function(){
109                                 var myc = Ext.getCmp(‘buyType‘);
110                                 var op = Ext.getCmp(‘radioxiao‘).getGroupValue();
111                                 myc.setValue(null);
112                                 var mycvalue = Ext.getCmp(‘buyType‘).getValue();
113                                 buyTypeStore.removeAll();
114                                 myc.store.load({
115                                     callback: function (records, operation, success) {
116                                     },
117                                     params: {
118                                         page: 2,//重新设置页数,不设置会使用之前的页数进行查询,导致查询结果有误
119                                         start: 0,//重新设置起始行
120                                         limit: 21,//重新设置每页显示行
121                                         pra:4
122                                     }
123                                 });
124                             }
125                         }
126                     }
127                    ,{
128                     xtype: "combo",
129                     id: "buyType",
130                     hiddenName: "buyType",  //hiddenName和id不要相同,在IE6中会显示错位。
131                     store: buyTypeStore,
132                     displayField: "text",
133                     valueField: "value",
134                     triggerAction: "all",
135                     //  mode : "remote",
136                     queryMode: "local",  //低版本使用mode属性
137                         queryParam : ‘empUserNum‘,
138                         editable: false,
139                     allowBlank: false,
140                         emptyText: ‘please select‘,
141                     fieldLabel: "xuanz",
142                     typeAhead: true,//设置为true,当开始输入字符时,在指定的延迟之后会自动匹配剩下的内容,如果找到了匹配的 内容则自动选中它 (typeAheadDelay) (默认值为 false)
143                     listeners: {
144                         "select": function () {
145                             alert("fff");
146                             // var name = Ext.getCmp("buyType").getRawValue();
147                             // var pid = Ext.getCmp("buyType").getValue();
148                             // var myc = Ext.getCmp(‘buyType‘);
149                             // // alert(myc);
150                             // myc.store.load({
151                             //     callback: function (records, operation, success) {
152                             //     },
153                             //     params: {
154                             //         page: 2,//重新设置页数,不设置会使用之前的页数进行查询,导致查询结果有误
155                             //         start: 0,//重新设置起始行
156                             //         limit: 21//重新设置每页显示行
157                             //     }
158                             // });
159                         }
160                     }
161                 }]
162             });
163         });
164     </script>
165 </head>
166 <body>
167 <div id = "formId"></div>
168
169 </body>
170 </html>

原文地址:https://www.cnblogs.com/bisonkeji/p/9085785.html

时间: 2024-10-10 23:30:12

extjs--combo动态获取数据的相关文章

highcharts动态获取数据生成图表问题

动态获取数据说白点就是从后台传值到前台,前台把这些值赋值给x轴与y轴.  柱状图的动态传值: //获取后台数据 var x = [];//X轴 var y = [];//Y轴 var xtext = [];//X轴TEXT var color = ["#FFB6C1","#DC143C","#C71585","#D8BFD8","#8B008B","#4B0082","#6A5

React使用jquery方式动态获取数据

今天用了一下最简单的方式获取数据处理,来结合react实现实时请求,并刷新数据的小demo. 首先我还是选择了jquery方式中自带的ajax获取数据,首先要引用所需的js包 接下来要写一个自定义的js文件, 创建一个react组件: var Demo = React.createClass({}); //渲染组件 React.render(<Demo url="../data/package.json" setTime="2000" />,docume

asp.net mvc Areas 母版页动态获取数据进行渲染

经常需要将一些通用的页面元素抽离出来制作成母版页,但是这里的元素一般都是些基本元素,即不需要 进行后台数据交换的基本数据,但是对于一些需要通过后台查询的数据,我们应该怎么传递给前台的母版页呢 这里描述的是对于多个页面统一的数据部分,即多个页面中均保持一致且与各个页面无其他关系的页面, 虽然我们可以通过razor使用C#语言来获取数据并写入页面中,但这就违背我们view中尽可能不处理数据的意愿了 所以给出的解决方案是,通过ViewBag将需要的数据写入页面中,将读取数据的操作提取到baseCont

echart动态获取数据不显示

当时写完echart,然后当模拟数据动态显示的时候,把里面的data直接替换成获取回来的数据不显示,后来发现是当页面初始加载的时候就已经取数据了且只取一次,所以就用了一个watch监视,监视变化需要在重新渲染,但是发现一直在发送请求,所以后来就在获取数据之后再创建echart示例就好了呀,代码如下 drawLine() { getLine(this.lineQuery).then(response => { // 基于准备好的dom,初始化echarts实例,发送请求回来再创建实例 this.l

Python+Selenium+Mysql(动态获取数据,数据库交互)

一.创建数据库连接 #!coding:utf-8 import pymysql ''' Python3之后不再支持MySQLdb的方式进行访问mysql数据库: 可以采用pymysql的方式 连接方式: 1.导包 import pymysql 2.打开数据库连接 conn = pymysql.connect(host='10.*.*.*',user='root',password='123456',db='self_dev',charset='utf8',cursorclass=pymysql.

layui基本使用(动态获取数据,并把需要的数据传到新打开的窗口)

<div class="xiaoxi">\n' + ' <div class="layui-row">\n' + ' <input type="hidden" name="id" class="id" value="' + item.ID + '"/>\n' + ' <input type="hidden" name=&quo

小程序三级联动(动态获取数据)

做了两个小时才发现...不适合文字太多的联动,没办法.只能改成三个选择框的那种.在这里记录一下是如何做的,然后以后有用时再用. js const app = getApp(); Page({ data: { index: null, picker: ['喵喵喵', '汪汪汪', '哼唧哼唧'], multiNameArray: [ ['请选择','无脊柱动物', '脊柱动物'], ['请选择','一年级','二年级'], ['请选择','1班','2班', '3班'] ], muliArray:

一种动态获取数据的方法

<table class="table table-hover table-bordered table-striped dataTable"> <!--表头--> <thead> <tr role="row"> <th class="sorting text-center" tabindex="0" rowspan="1" colspan="

Flex动态获取数据,服务中断报错

1.错误原因 2.错误原因 由上面提示可知,软件引起的链接中断,导致出错 3.解决办法 检查数据库链接,重新启动服务