已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ComboBox 要注意的几个小问题 - 值跑位,值显示,获取输入值2010年08月11日 星期三 12:59在Extjs中,使用到ComboBox总会出现一些小问题,找半天都找不出来原因,下面就是几个要注意的。1。ComboBox加载数据之后,ComboBox里面的值跑位,不能正确对应到ComboBox里面。原因:因为要传name的值到服务器端,使用到了隐藏属性hiddeName来传值,hiddenName的名是要和name一样的。如果id和name设置为相同的,就会不能正确对应。所以,comboBox的id和name 不能设置一样new Ext.form.ComboBox(id:comboId,name:comboName,hiddenName:comboName);/注意:加了HiddenName这个属性,得到的ComboBox是它的id,反则是显示值。2。 第二个问题是明明已经加载了数据之后store里面也有值,确没有再ComboBox里面显示,这个你就要注意你的ComboBox里面有没有设置valueField 和 displayField, valueField绑定到当前底层数据,相当于它的id,displayValue,绑定到当前底层数据对应的名词,顾名思义也就是显示出来的值。还要注意一下,它的映射是否也有写,field 里面是否写正确了。如果这两个属性没有,那就是值怎么也显示不出来的。还有一点是,得到的值从服务器端传回来,一定要记得有response.getWrite().print(json格式值); 有时前台都写正确了,但是还是没值,那就是没有将值传到前台store : new Ext.Data.Store( proxy: new Ext.Data.httpProxy(),reader:new Ext.data.JsonReader();field:valueid,displayName );new Ext.form.ComboBox(id:comboId,name:comboName,hiddenName:comboName,store:storevalueField:valueid , /要跟field里面对应,不然不能正确匹配displayField:dispalyField);3. 获取ComboBox手动输入的值。手动输入的值是没有完全设置到ComboBox中value里面的,所以当我们去获取的时候,得到都是一个空字符串。listeners : render : function(f) f.el.on(keyup, function(e) f.setValue(f.getRawValue();vipSxy = new Ext.data.HttpProxy(url : vip_realtimeVipName.action?vipID=+ f.getRawValue();vipStore.load(););这几个问题总会一不小心就会碰到,要多加注意了。Extjs ComboBox keyup事件取不到输入值的问题 2010-12-22 16:24:26| 分类: Extjs | 标签:extjs combobox getvalue()取不到输入值 |字号大中小 订阅 问题描述:在使用listeners监听键盘keyup事件时,使用getValue()方法,总是取不到人工填写的值。当时我就是想根据用户输入的快捷键值,自动显示选项!以前做项目时用ComboBox的时候也碰见这个问题,一直没找到到原因,很是郁闷. 解决方案:使用getRawValue()来代替getValue()方法取值listeners:keyup: function(textfield, e) var value = textfield.getRawValue(); /使用getValue()取不到用户输入的值if (value = 1) textfield.setValue(有);else if(value=0)textfield.setValue(无);问题分析:首先我们来看一下API:getRawValue() : MixedReturns the raw data value which may or may not be a valid, defined value. To return a normalized value see getValue.Returns the raw data value which may or may not be a valid, defined value. To return a normalized value see getValue.Parameters: None.Returns: Mixedvalue The field valuegetValue() : StringReturns the currently selected field value or empty string if no value is set.Returns the currently selected field value or empty string if no value is set.Parameters: None.Returns: Stringvalue The selected value简单的说:getRawValue()方法返回的是未经过验证的值,包括用户输入的或选择的,getValue()返回的是Combobox存在的选项的值,如果没有则返回空值。那么就上面的例子,如果用户输入快捷键1,getRawValue()=1,而getValue()=”,因为Combox不存在值为1的选项,默认返回为空,也就是出现为什么取不到值的原因。ExtJS Combobox 如何设置默认和取值问题分类:EXTJS2011-06-15 18:23292人阅读评论(1)收藏举报主要是在store 里监听load事件,store完成的时候,数据已经引用进来了。获取store第一条记录,设定为ComboBox 的默认值 var poststore = Ext.create(Ext.data.Store, model: State, listeners: load: function() var record = poststore.getAt(0).get(position_id); SelectPostion.setValue(record); , proxy: new Ext.data.HttpProxy( url: /web/wage/ajaxcityconfig.aspx?type=Pos ), reader: new Ext.data.JsonReader(, name: position_id , name: position ) );/ ComboBox with multiple selection enabledvar SelectPostion = Ext.create(Ext.form.field.ComboBox, fieldLabel: 选择职位, labelStyle: width:80px;color:black, Style: color:black, multiSelect: false, displayField: position,value: , width: 320, labelWidth: 80, valueField: position_id, store: poststore, queryMode: remote);poststore.load();/neTypeStore.load(); var neTypeCombo = new Ext.form.ComboBox(store : neTypeStore,emptyText : 请选择,fieldLabel : 网元类型,isFormField : true,id : ne_type,name : ne_type,mode : remote,triggerAction : all,valueField : id,displayField : text,editable : false,/ autoWidth: true,width : 300,renderTo : ne_type_div,listeners: select:function(e,record,index)var netype=Ext.getCmp(ne_type).getRawValue();var ne_type=temp(netype);var borad_state=Ext.getCmp(borad_state).getValue();/ alert(ne_type+borad_state);/alert(ne_type.getId();/ne_type.clearValue();xy = new Ext.data.HttpProxy(url : combox.do?dispatch=element&sType=+borad_state+&sEquipType=+ne_type+&sEquipName=+&srecordname=abcdefg&iNeedRange=+1,method : POST);/ Ext.apply(ds.store.baseParam, sType: borad_state,sEquipType: ne_type,sEquipName: ,iNeedRange: 1);ds.load(params:start:0,limit:101););这是下拉框的选择事件然后用e来获取下拉框的值,请问高手们function中的e是怎么回事对combobox手动输入的值,获取,用的是keyup,前几天都是可以或得到的,现在突然不行了,得到的值都是 ,空字符串。java code xtype : combo,store : vipstore,id : vipid,name : vipname,emptytext : 请输入会员账号,width : 150,mode : local,valuefield : memberid,displayfield : membername,listeners : keydup : function(field, e) var vipname = field.getvalue();alert(vipname = + vipname); /得到的是空字符串。xy = new ext.data.httpproxy(url : vip_realtimevipname.action?vipid=+ vipname);vipstore.load();/ selectvipname(vipname);,select : function(combo, record) ext.getcmp(vipemail).settext(record.get(memberemail)memmbername = record.get(membername);各位朋友,帮我看看。谢谢了。有点不明白。突然如何就不行了 css code xtype : combo,store : vipstore,id : vipid,name : vipname,emptytext : 请输入会员账号,width : 150,mode : local,/本地数据模式valuefield : memberid,displayfield : membername,listeners : keydup : function(field, e) /首先你没有数据,就是说你的field是一个null数据对象 你输入的combobox值应该是属于text,getvalue应该是没有值的/你在combox中加些默认值看看能否得到值var vipname = field.getvalue();alert(vipname = + vipname); /得到的是空字符串。xy = new ext.data.httpproxy(url : vip_realtimevipname.action?vipid=+ vipname);/然后加载数据vipstore.load();/ selectvipname(vipname);我用combobox写的代码如下JScript codeExt.require( Ext.form.ComboBox, Ext.tip.QuickTips, Ext.data.* ); Ext.onReady(function() Ext.tip.QuickTips.init(); / Define the model for a State Ext.regModel(State, fields: type: string, name: xh, type: string, name: xm ); / The data for all states / The data store holding the states; shared by each of the ComboBox examples below / var store = new Ext.data.Store( / model: State, / data: states / ); var comboxStore = new Ext.data.Store( model: State, proxy: type:ajax, b method:post,/b url: http:/localhost:8080/cjcx/servlet/Getcj?Method=GetAllxhxm , reader:json , atuoLoad:false ); / comboxStore.load(); / ComboBox with a custom item template var simple = new Ext.form.ComboBox( fieldLabel: 请输入您的学号, renderTo: simple, displayField: xm, valueField: name, / hiddenName:empUserNum, allowBlank : false, width: 500, labelWidth: 130, hideTrigger:true, / typeAhead:true,/延时查询,与下面的参数配合 / typeAheadDelay:250,/默认250 blankText:输入姓名查询成绩, emptyText:输入姓名查询成绩, listEmptyText:请仔细核对姓名信息, minChars : 1, store: comboxStore, queryMode:remote, queryParam : empUserNum, getInnerTpl: function() return xm ; ); / Collapsible code panels; ignore: / Ext.select(pre.code).each(function(pre) new Ext.form.FieldSet( contentEl: pre, renderTo: pre.parent(), title: View code for this example, collapsible: true, collapsed: true ) ); ); 后台java用的sevelet接受的数据 却发现调用的doGet 使用request.getParameter(empUserNum);获取的值居然是乱码我测试了下 输入“张”后台获取值3个? 用myeclipse 调试 后台发现调用的始终是GET你这是post方式吗?如果你要传中文可以 store.reload(params:searchParam );searchParam 就是你拼接的参数数 如下JScript code var searchParam = search_code : search_code, search_fullname : search_fullname, search_addr : search_addr, search_tel : search_tel , search_bossId : search_bossId, start: 0, limit: 15;ComboBox 传值问题 博客分类: extjs field - textfield-triggerfield - combobox 其中field建了一个名为name的input (指定name) ,存放bobox建了一个名为hiddenname的input(指定hiddenname) ,存放 valuefield。 Js代码 1. var x= new combobox(); var x= new combobox();用户可以不选择指定的store里的值,可直接输入。 若想取得displayfield则用getRawValue,若想取得valuefield则要用getValue,传入后端 name=?&hiddenname=?。 后端还要判断,到底getRawValue是不是在store中,因为若用户之前选过,后来又自己输入了,则valuefield还是原来的 . ExtJs中ComboBox通过表单传值,后台要得到valueField的值-hiddenName 博客分类: EXTJS4.0 ExtJs ComboBox combo valueField displayField hiddenNamename:faId ,xtype: combo,fieldLabel: 父userId,width: 120,displayField:userId,valueField:uid,hiddenName:faId ,mode: remote,forceSelection:true,triggerAction: all,store:comboBoxStoreForFaUser说明:在formPanel有如上一个ComboBox,提交表单以后,通过request.getParameter(faId )来获取值,可是很不幸的看到获得的值是displayField上显示的值,而我们需要的是valueField的值。这就需要hiddenName了,将name改为它就可以了,即name:test-hiddenName:test,则我们获得的值就是valueField中的了ComboBox后台接收值 2008-12-24 10:53:15| 分类: ext学习笔记 | 标签: |字号大中小 订阅 前台: var checkupperson = new Ext.form.ComboBox(fieldLabel: 审核人,name:checkupperson,forceSelection: true,hiddenName:ccc,listWidth: 200,store: new Ext.data.JsonStore(fields: userId, username,url: ./combobox.do?action=getActorComboBox,autoLoad : true),valueField:userId,displayField:username,typeAhead: true,mode: local,triggerAction: all,selectOnFocus:true,/用户不能自己输入,只能选择列表中有的记录allowBlank:false);后台:String str = request.getParameter(checkupperson);/获取提ComboBox的displayField的值String str1 = request.getParameter(ccc);/获取的是ComboBox的valueField的值Ext.FormPanel之第三式(ComboBox篇)(2009-04-10 11:21:52)分类:EXT前言:说句实话,此extjs系列的文章在博客园中的热度不高,可能是学这玩意的人不多吧,但是我觉得有这么个系列的文章对于中国朋友非常有帮助!请大家支持! 上篇ExtJs2.0学习系列(5)-Ext.FormPanel之第二式中我们讨论了下fieldset和表单验证的知识,今天我们接着深入解析表单元素中ComboBox组件的使用。会涉及到.net简单服务器数据交互,但暂不做深入讨论,以后会详细分析服务器交互相关,不过可能要等较长一段时间,呵呵!5.服务器数据作为ComboBox的数据源实例首先从服务器获取json数据:/cs后台代码,简单起见,示例而已,要主要字符串格式(新手注意,下面的代码放在类里面,不是放在方法里)publicstringServerData=湖北,江西,安徽;/aspx前台js介绍代码Ext.onReady(function()varcombo=newExt.form.ComboBox(store:,/获取ServerData的string值,不要用引起来,否则就不是object数据,而是字符串,这是一个很巧妙的关键点:把服务器的字符串转化为js的object数据,是不是超级方便。emptyText:请选择一个省份.,applyTo:combo););/aspx前台html代码我们就通过这样的方式获取到了服务器最简单的属性数据。问题来了,js和html怎么调用c#后台的变量和方法?(变量的调用上面刚刚介绍)6.js和html怎么调用c#后台的变量和方法关于这个话题,我不多说,网上很多讲解,在此仅简单1.js调用c#后台变量,参考上面,注意,如果想获取string类型,请在js里用引号 var str=(返回湖北,江西,安徽)2.js调用c#后台方法:inputid=Text2type=textvalue=/3.js调用c#后台带参数的方法alert();好了,现在我们有了js获取后台数据的方法手段,不怕不怕啦,不过,这只是一小步。7.ComboBox的数据源store格式详解在前面的例子里面,我们一直给ComboBox的数据源store赋值一维数组,其实store支持多维和Store.data.Store类型。/下面就几种数据以代码举例说明1.一维数组:江西,湖北,值同时赋给ComboBox的value和text2.二维和多维数组:one,bbar,111,two,tbar,222,第一维和第二维分别赋值给value和text,其他维忽略3.store类型:包括GroupingStore,JsonStore,SimpleStore.我们分三步走:/第一步:提供数据: vardata=湖北,hubei,江西,jiangxi,安徽,anhui;/第二步:导入到store中:varstore=newExt.data.SimpleStore(fields:chinese,english,data:data);/第三步:把store托付给comboBox的storevarcombo=newExt.form.ComboBox(store:store,displayField:english,/store字段中你要显示的字段,多字段必选参数,默认当mode为remote时displayField为undef
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 煤矿智能开采员风险识别测试考核试卷含答案
- 2026年物业上半年工作总结及下半年工作计划
- 岗位职责的编制和说明
- 2026年市场营销人员品牌推广策略培训方案
- 英语语言学方向就业指南
- 2026年酒店前厅VIP客户接待专项培训计划
- 校园节能监理规划
- 短视频职业规划指南
- 主题教育领导干部讲话
- 自主创业职业规划指南
- 学位英语4000词(开放大学)
- GB/T 9799-2024金属及其他无机覆盖层钢铁上经过处理的锌电镀层
- 中医是怎样治疗动脉硬化的
- 产品漏装改善报告
- 悬挑式卸料平台监理实施细则
- 铸件(原材料)材质报告
- 提货申请单表
- 脑与认知科学概论PPT(第2版)完整全套教学课件
- 【初中化学】中国化学家-李寿恒
- 生管指导手册(什么是PMC)
- 历届全国初中数学联赛真题和答案
评论
0/150
提交评论