ext2.0 怎么得到下拉框默认值对应的ID

田小瘦 2011-07-27 06:02:13
比如在3.0中
Ext.getCmp('ID').setValue(Store.getAt(0).data.value);

这样就能得到下拉框默认值的ID,
在2.0当中要怎样得到呢?谢谢。
...全文
190 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
豆虫 2011-07-27
  • 打赏
  • 举报
回复
id value text 是否在一个表中?如果在一张表中 可以在store中再加一组name:“id” 后台也相应的加上id值的拼接 前台store中拿第一项中id的值就可以了
田小瘦 2011-07-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 fanchuanzhidu 的回复:]
2点:
第一点:引用 比如刚进入修改界面,有三个下拉框,里面有我从数据库读出来的值,也就是默认值。


你从数据库里读出来的默认值 难道不能读出值对应的id?

第二点:引用 但是,我对这三个下拉框进行修改操作后,再点按钮,那么就成功了,传到后台的就是我修改之后选择的值对应的ID。

我想知道这个是怎么操作的?
[/Quote]





var dxdyncStore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : "adminagencyAccountAction!dxdyncComboxByPage.action",
method : "POST"
}),
reader : new Ext.data.JsonReader(
{
totalProperty : "totalProperty",
root : "root"
},
[{name : "value"},{name : "text"}]
)
});
第一点的ID能够得到,但是要点击下拉框之后才能得到,如果我不对下拉框操作,也就没有点击下拉框,所以就得不到默认值对应的ID

xtype:'combo',
fieldLabel:'移动通道',
id:'mobileChannlList',
name:'mobileChannlList',
allowBlank:false,
store : yddyncStore,
emptyText : "请选择",
isFormField : true,
pageSize : 20,
mode : "remote",
value:mobileChannlList,
triggerAction : "all", valueField : "value",
defaultValue:"value",
displayField : "text",
editable : false,
anchor:'100%'
我的ID都是要点击下拉框之后才能得到,我现在就想当我打开页面或点击提交按钮的时候能得到ID,能够加载dxdyncStore 这个事件。
豆虫 2011-07-27
  • 打赏
  • 举报
回复

2点:
第一点:[Quote=引用 ]比如刚进入修改界面,有三个下拉框,里面有我从数据库读出来的值,也就是默认值。
[/Quote]

你从数据库里读出来的默认值 难道不能读出值对应的id?

第二点:[Quote=引用 ]但是,我对这三个下拉框进行修改操作后,再点按钮,那么就成功了,传到后台的就是我修改之后选择的值对应的ID。[/Quote]

我想知道这个是怎么操作的?
田小瘦 2011-07-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fanchuanzhidu 的回复:]

初始化时的默认值对应的id能拿到吗一开始?别告诉我一开始就拿不到啊
如果能拿到 那就来个终极方案 Ext.getCmp('combox的id').oldVal = 这个id
后边若不修改这个默认值 用Ext.getCmp('combox的id').oldVal 获取就行了
[/Quote]

我就是要拿初始化时的默认值对应的ID阿,开始就是拿不到。怎么拿阿。
田小瘦 2011-07-27
  • 打赏
  • 举报
回复
就是说,
比如刚进入修改界面,有三个下拉框,里面有我从数据库读出来的值,也就是默认值。
如果我不做任何修改点确认按钮,就会出错,因为这三个下拉框默认的是传“值”到后台的,而不是传的这三个对应的ID,而我在后台是接收的ID,就会出现字符串转换错误。
但是,我对这三个下拉框进行修改操作后,再点按钮,那么就成功了,传到后台的就是我修改之后选择的值对应的ID。
具体一点,我对下拉框操作了,就是传的ID,如果我对下拉框不做任何操作,就是传的默认值,也就是字不是ID。
豆虫 2011-07-27
  • 打赏
  • 举报
回复
初始化时的默认值对应的id能拿到吗一开始?别告诉我一开始就拿不到啊
如果能拿到 那就来个终极方案 Ext.getCmp('combox的id').oldVal = 这个id
后边若不修改这个默认值 用Ext.getCmp('combox的id').oldVal 获取就行了
田小瘦 2011-07-27
  • 打赏
  • 举报
回复
我做的动态下拉框,首先加载页面,下拉框里的默认值是我数据库里面的,然后我可以对这个默认值进行修改,如果修改了我就能得到我改之后的值对应的ID,但是,我如果不改这个默认值,我要怎么得到这个默认值对应的ID。
豆虫 2011-07-27
  • 打赏
  • 举报
回复
当要恢复成默认的时候 reset一下 再getValue() 那不就是默认的id值了么 再传后台 可以了吧
豆虫 2011-07-27
  • 打赏
  • 举报
回复
我不知道你store里是怎么设置显示和value的啊 你看这样我的做法对你有启发没?
var arr = [["3", "显示所有"], ["0", "显示A"], ["1", "显示B"], ["2", "显示C"]];
var info = new Ext.data.Record.create([{
name : 'id',
type : 'String',
mapping : 0
}, {
name : 'myText',
type : 'String',
mapping : 1
}]);

var reader = new Ext.data.ArrayReader({}, info);
var store = new Ext.data.SimpleStore({
fields : ['id', 'myText'],
data : arr,
reader : reader,
autoLoad : true
})
var com = new Ext.form.ComboBox({
triggerAction : 'all',
emptyText : '请选择',
store : store,
displayField : 'myText', //这个是你显示的text
valueField : 'id', //设置成id 之后getValue的时候得到的就是id值了
width : 150,
mode : 'local',
fieldLabel : 'Hello',
value : "3", //这个写你的id
id : 'id'
})
田小瘦 2011-07-27
  • 打赏
  • 举报
回复
我要得到默认值的ID,传入后台。。
我是做修改功能,如果我对某个下拉框没有进行修改操作,那么传到后台的就是“值”,而不是ID,所以,一加载页面,我就要得到默认值的ID,传入到后台去。
豆虫 2011-07-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 t15137830 的回复:]
比如在3.0中
Ext.getCmp('ID').setValue(Store.getAt(0).data.value);

这样就能得到下拉框默认值的ID,
在2.0当中要怎样得到呢?谢谢。
[/Quote]
默认的非得是第一个value么 我要是设定第二个value是默认值 这就不好使了吧 呵呵
不用非找这个默认值塞 直接调reset() combox就恢复成默认的了

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧