How to create a Radio Buttons inside RadioGroup in ExtJs and query the current selection
In this example we have created a bunch of Radio buttons with the same name so that only one is selected at a time and then wrap them inside a RadioGroup container. RadioGroup provides a set of convenience methods and layout to arrange the Radio buttons into columns. Here is the example...
Application HTML file - index.html
<html> <head> <title>ExtJs Radio button Example</title> <link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css"> <style type="text/css"> </style> <script type="text/javascript" src="extjs/ext-all-debug.js"></script> <script type="text/javascript"> Ext.Loader.setConfig({ enabled: true }); Ext.application({ name: 'myApp', appFolder: 'app/radioButtons', controllers: [ 'MyController' ], launch: function() { Ext.create('Ext.container.Container', { renderTo: 'myExample', height: 250, width: 400, layout: { align: 'stretch', type: 'vbox' }, defaults: { labelWidth: 150, margin: '5 5 5 5 ' }, items: [ { xtype: 'radiogroup', fieldLabel: 'Choose your favorite', //arrange Radio Buttons into 2 columns columns: 2, itemId: 'myFavorite', items: [ { xtype: 'radiofield', boxLabel: 'ExtJs', name: 'framework', checked: true, inputValue: 'extjs' }, { xtype: 'radiofield', boxLabel: 'DoJo', name: 'framework', inputValue: 'dojo' }, { xtype: 'radiofield', boxLabel: 'jQuery', name: 'framework', inputValue: 'jQuery' }, { xtype: 'radiofield', boxLabel: 'Prototype', name: 'framework', inputValue: 'prototype' } ] }, { xtype: 'button', text: 'Press here to see Selection below...' }, { xtype: 'displayfield', value: '', itemId: 'yourSelection', fieldLabel: '<b>You have Selected</b>', anchor: '100%' } ] }); } }); </script> </head> <body> <div id="myExample"></div> </body> </html>
Application Controller - MyController.js
Ext.define('myApp.controller.MyController', { extend : 'Ext.app.Controller', init : function() { this.control({ 'container' : { render : this.onContainerRendered }, 'container button' : { click : this.onButtonClick } }); }, onContainerRendered : function() { // console.log('The container was rendered'); }, onButtonClick : function(button) { // console.log('Button Click'); // get reference to the container var myView = button.up('container'); //get the checked Radio button var myFavorite = myView.getComponent('myFavorite').getChecked()[0]; var yourSelection = myView.getComponent('yourSelection'); //find the value of the selected Radio button yourSelection .setValue("Label is: " + myFavorite.boxLabel + " and Value is: " + myFavorite.getGroupValue()); } });
No comments:
Post a Comment
NO JUNK, Please try to keep this clean and related to the topic at hand.
Comments are for users to ask questions, collaborate or improve on existing.