我正在尝试在sencha touch 2.1中的文本字段中显示选择器字段的选定文本。 我在代码中看不到任何错误但仍无法正常工作。下面是我的代码。请提供一些有效的解决方案。
{
xtype : 'textfield ',
id : 'PacingMode ',
style : 'background - color: #585858;',
top : '13.5%',
usePicker : true,
left : '20%',
width : '5%',
listeners : {
'focus' : function(a,e, eOpts) {
console.log("show caling");
document.activeElement.blur();
if (!this.picker) {
this.picker = Ext.Viewport.add({
xtype: 'picker',
id: 'pacingModePickerfield',
useTitles: true,
slots: [{
name: 'quantity',
title: 'Pacing Mode',
data: modelMgr.slotsdata1,
valueField: 'value',
}
],
doneButton: {
listeners: {
// when the done button is tapped, set the value
tap: function (button, event, eOpts) {
var sel = document.getElementById("pacingModePickerfield");
var text_value = sel.options[sel.selectedIndex].text;
Ext.getCmp('PacingMode').setValue(text_value);
}
}
}
});
}
this.picker.show();
},
change: function (a, e, newValue, eOpts) {
sendValueSetRequest(this.id);
},
}
答案 0 :(得分:3)
您应该使用框架从选择器中获取值:
tap: function(button, event, eOpts) {
var val = Ext.getCmp("pacingModePickerfield").getValues().quantity;
Ext.getCmp('PacingMode').setValue(val);
}
答案 1 :(得分:0)
这是我的工作代码:
doneButton : {
listeners : {
tap : function(button,event,eOpts) {
var selectedUpperSensorValue = Ext.getCmp('upperSensorPickerfield').getValue()['Upper Sensor'];
sendSetPendingRequest("UpperSensor",selectedUpperSensorValue);
}
}
}
答案 2 :(得分:0)
试试这个。
var thePicker = new Ext.Picker({
slots: [
{
name : 'limit_speed',
title: 'Speed',
data : [
{text: '50 KB/s', value: 50},
{text: '100 KB/s', value: 100},
{text: '200 KB/s', value: 200},
{text: '300 KB/s', value: 300}
]
}
],
listeners: {
change: function(picker, value, eOpts) {
alert(value.limit_speed);
}
}
});