Ext.form.ComboBox 后台取值 动态加载 ext5.0.0
Posted 绿萝配白啤_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ext.form.ComboBox 后台取值 动态加载 ext5.0.0相关的知识,希望对你有一定的参考价值。
我用的extjs是5.0.0版本的。
请注意:如果这里没有的combobox相关内容,这里一定有。
开始的时候keyup事件取到的数据就是放不到ComboBox中,放全局变量也不好用。最后大神出手帮忙解决了这个问题~~~
查看API的时候,对象没有找对,以至于方法事件都用不了。
总结出来方便查阅~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
输入号码结束--触发事件---从后台取数据---将数据放到下拉列表中
输入手机号
// 输入电话号 var $inpTel = new Ext.form.TextField({ fieldLabel: \'电话号\', labelWidth: 70, regex: /^[1]\\d{10}$/, enableKeyEvents: true, margin: "10 10 0 10" }); // 显示号码状态 var $telState = new Ext.form.Label({ text: \'\', margin: \'0 0 0 85\', style: { color: \'red\' } }); // 获取产品列表的参数 var params = { \'phone\': $inpTel.getValue() }; var $comboboxProductList; // 产品列表数据 var remoteStore = Ext.create(\'Ext.data.Store\', { proxy: ({ type: "ajax", method: "POST", url:-------路径--------, reader: { type: \'json\', successProperty:"success", rootProperty: "data", transform: { fn: function(data) { var code = data["code"]; var message = data["message"]; var data = data["data"]; //console.dir(code); //console.dir(message); if (code!=0) { $comboboxProductList.disable(); $telState.setText(\'手机号码有误\'); }else{ $comboboxProductList.enable(); $comboboxProductList.setValue(data[0]["productId"]); } return data; }, scope: this } } }), //listeners: { // load: function (store, records, successful, eOpts) { // console.log("====>[store.getData()]");console.log(store.getData()); // console.log("====>[records]");console.log(records); // console.log("====>[successful]");console.log(successful); // console.log("====>[eOpts]");console.log(eOpts); // } //}, fields: ["productId", "productName"] }); //选择下拉框 $comboboxProductList = new Ext.form.ComboBox({ fieldLabel: \'AAAAAA\', margin: \'5 0 0 10\', labelWidth: 70, emptyText: \'请选择\', autoSelect:true, displayField: \'productName\', //下拉显示 valueField: \'productId\', forceSelection: true, queryDelay: 300, store: remoteStore, queryMode: \'remote\', hiddenName: \'productId\' }); // 给号码获取下拉框 $inpTel.on(\'keyup\', function () { // 不满足检查条件 if (this.getValue().length != 11) return; // 满足检查条件,修改store请求参数 var params = { \'phone\': $inpTel.getValue() }; remoteStore.getConfig("proxy").setExtraParams(params); remoteStore.load(); });
以上是关于Ext.form.ComboBox 后台取值 动态加载 ext5.0.0的主要内容,如果未能解决你的问题,请参考以下文章
Ext.form.ComboBox用JSON数据源下拉框不显示选项,点击一个选择项在文本框可以显示值,求指导
JavaScript [ExtJS]在Ext.form.ComboBox下拉列表中显示空字符串