Функция extJS RadioGroup setValue()
Я создал RadioGroup, используя код
var radios = new Ext.form.RadioGroup({
columns : 2,
items: [
{boxLabel: 'E-Mail', name: 'communication', inputValue: 1},
{boxLabel: 'Nagios', name: 'communication', inputValue: 2}
]
});
Я хочу проверить один из переключателей на каком-то событии. Как это сделать? Я пытался с помощью:
radios.setValue(true, false);
Но это не работает.
6 ответов
radios.items.items должен вернуть вам переключатели внутри группы радио. Затем вы можете использовать функцию setValue() для них, чтобы проверить или снять их.
radios.items.items[index].setValue(true/false);
http://docs.sencha.com/extjs/4.2.2/
var form = Ext.create('Ext.form.Panel', {
title : 'RadioGroup Example',
width : 300,
bodyPadding : 10,
renderTo : Ext.getBody(),
items : [
{
xtype : 'radiogroup',
fieldLabel : 'Group',
items : [
{ boxLabel : 'Item 1', name : 'rb', inputValue : 1 },
{ boxLabel : 'Item 2', name : 'rb', inputValue : 2 }
]
}
],
tbar : [
{
text : 'setValue on RadioGroup',
handler : function () {
// Set the value of the 'rb' radio butons
var val = {rb : 2};
form.child('radiogroup').setValue(val);
}
}
]
});
Например, выбрать "E-Mail"
radios.setValue({communication: 1});
Общее использование:
radioGroup_var.setValue({radioGroup_name: 'inputValue'});
Это работает для меня
radios.setValue({communication:<input value>});
Где входное значение может быть значением поля inputValue переключателя
ура
Это старая ветка, но Google всегда сначала находит ее, поэтому я просто добавлю свое решение (в Ext 3.4.1.1) здесь.
Попробуй это:
var radios = new Ext.form.RadioGroup({
columns: 2,
name: 'communication', // <== ADD THE NAME AGAIN ON HERE
items: [
{boxLabel: 'E-Mail', name: 'communication', inputValue: 1},
{boxLabel: 'Nagios', name: 'communication', inputValue: 2}
]
});
radios.setValue(2);
или для большей панели формы formPanel.getForm().setValues([{communication: 2}])
должен работать сейчас.
Попробуйте передать массив значений в метод setValue следующим образом:
radios.setValue([true, false]);
Это будет работать в ExtJs 3.x, не уверен, что ExtJs4 проверяет API.