更改事件前的 extjs radiogroup
extjs radiogroup before change event
你能在 change/check ExtJS radiogroup 活动之前帮助我吗?我希望在根据条件更改单选按钮之前检查一些事件。如果条件为假,我需要允许用户更改 select 另一个单选按钮,那么我们只需要 select 旧单选按钮。
请参考以下代码:
Ext.application({
name: 'Fiddle',
launch: function () {
Ext.create('Ext.form.Panel', {
title: 'RadioGroup Example',
width: 300,
height: 125,
bodyPadding: 10,
renderTo: Ext.getBody(),
items: [{
xtype: 'radiogroup',
fieldLabel: 'Gender',
columns: 1,
items: [{
boxLabel: 'Male',
name: 'rb',
inputValue: '1'
}, {
boxLabel: 'Female',
name: 'rb',
inputValue: '2',
}],
listeners: {
change: function(field, newValue, oldValue, eOpts) {
console.log(newValue);
alert(newValue.rb);
},
}
}]
});
}
});
如评论中所述,没有可用于否决更改的 beforechange
事件。
其他一些选项是:
您可以 change
侦听器来验证无线电组,如果选择了不正确的选项,则使其无效。通过这种方式,用户会被动地得知存在问题,他们必须解决问题。
您可以通过使用 oldvalue
参数获得您所描述的行为,只需将无线电控件设置回旧值即可:
change: function(field, newValue, oldValue, eOpts) {
if (<new value isn't acceptable>) {
// Probably should let the user know why
field.setValue(oldValue);
return;
}
... any other change logic here.
}
- 您还可以在表单状态更改时预先使用
change
侦听器启用和禁用选项,从而防止用户首先做出错误的选择。
你能在 change/check ExtJS radiogroup 活动之前帮助我吗?我希望在根据条件更改单选按钮之前检查一些事件。如果条件为假,我需要允许用户更改 select 另一个单选按钮,那么我们只需要 select 旧单选按钮。
请参考以下代码:
Ext.application({
name: 'Fiddle',
launch: function () {
Ext.create('Ext.form.Panel', {
title: 'RadioGroup Example',
width: 300,
height: 125,
bodyPadding: 10,
renderTo: Ext.getBody(),
items: [{
xtype: 'radiogroup',
fieldLabel: 'Gender',
columns: 1,
items: [{
boxLabel: 'Male',
name: 'rb',
inputValue: '1'
}, {
boxLabel: 'Female',
name: 'rb',
inputValue: '2',
}],
listeners: {
change: function(field, newValue, oldValue, eOpts) {
console.log(newValue);
alert(newValue.rb);
},
}
}]
});
}
});
如评论中所述,没有可用于否决更改的 beforechange
事件。
其他一些选项是:
您可以
change
侦听器来验证无线电组,如果选择了不正确的选项,则使其无效。通过这种方式,用户会被动地得知存在问题,他们必须解决问题。您可以通过使用
oldvalue
参数获得您所描述的行为,只需将无线电控件设置回旧值即可:
change: function(field, newValue, oldValue, eOpts) {
if (<new value isn't acceptable>) {
// Probably should let the user know why
field.setValue(oldValue);
return;
}
... any other change logic here.
}
- 您还可以在表单状态更改时预先使用
change
侦听器启用和禁用选项,从而防止用户首先做出错误的选择。