处理extjs checkboxgroup上的更改事件

时间:2016-02-04 13:59:09

标签: extjs

我对处理checkboxgroup中的更改感到非常困惑。 我想得到一个包含复选框所有新值的数组。 最终数组将具有chekbox的id及其对应的值,无论是否检查。

我将此复选框组视为动态。

var checkboxconfigs = [];
checkboxconfigs.push({ //pushing into array
               id:record.data.SubTickets[z].Id,
               boxLabel:record.data.SubTickets[z].Name,
               status:record.data.SubTickets[z].Status
 });

 xtype: 'checkboxgroup',
                            fieldLabel: 'Checklist',
                            columns: 1,
                            vertical: true,
                            listeners: {

                                change: function(field, newValue, oldValue, eOpts)
                                {    
                                }                                
                            },
                            items: checkboxconfigs

我需要的下一件事是获取一个包含所有新值及其各自id的数组。 可能像一个键值对数组,所以我可以传递这个数组来起作用。 如何在创建之后创建此数组我想调用该函数。

1 个答案:

答案 0 :(得分:0)

也许不是完美的编码,但你可以用它作为例子

PreparedStatement
JSON中的

myCheckboxGroup.on({ change: function(checkboxGroup, newValue) { var formattedValues = []; // myGroup is your checkboxes `name` property newValue = newValue.myGroup.length === 0 ? [newValue.myGroup] : newValue.myGroup; checkboxGroup.items.each(function(checkbox){ var checkboxValue = checkbox.inputValue, foramttedValue = {}; foramttedValue[checkboxValue] = newValue.indexOf(checkboxValue) !== -1 ? 'on' : 'off'; formattedValues.push(foramttedValue); }); console.log(formattedValues); } }); 看起来像这样

formattedValues

Working fiddle