Ext4.2学习之复选框与单选按钮

要在表单里加入复选框,就需要用到Ext.form.CheckBox。
在这里插入图片描述
注意需要使用inputValue来指定这三个CheckBox的值。另外还可以通过checked: true指定是否在一开始就处于选定状态。结果如下
在这里插入图片描述

至于单选按钮是继承复选框的,只需要一个改动即可,就是将items中的name设置为一致就可以了。
在这里插入图片描述
因为名称是一样的,所以inputValue就显得尤为重要了。否则我们无法判断用户选择了哪个单选按钮。

除了Checkbox所拥有的功能之外,Radio还有一个自己独特的函数getGroupValue,可以获取到某个分组中被选中的Radio的值。
在这里插入图片描述
在这里插入图片描述

对应的源码如下

<!DOCTYPE html>
<html>
<head>
    <title>Hello World</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <link type="text/css" rel="stylesheet" href="ext-4/resources/css/ext-all.css"/>
    <script type="text/javascript" src="ext-4/ext-all.js"></script>
    <script type="text/javascript" src="ext-4/locale/ext-lang-zh_CN.js"></script>
    <script>
        Ext.onReady(function () {

            var form = new Ext.form.FormPanel({
                labelAlign: 'right',
                title: 'form',
                labelWidth: 50,
                buttonAlign: 'center',
                frame:true,
                url: 'form2.jsp',
                width: 280,

                items: [{
                    // 使用fieldset将三个复选框放在一起
                    xtype: 'fieldset',
                    title: '多选',
                    autoHeight:true,
                    defaultType: 'checkbox',
                    hideLabels: true,
                    items: [
                        // boxLable是checkBox和Radio两个控件独有的,支持在控件右侧显示标签,与labelField的区别只是位置不同
                        {boxLabel: '多选一', inputValue: '1', checked: true},
                        {boxLabel: '多选二', inputValue: '2'},
                        {boxLabel: '多选三', inputValue: '3'}
                    ]
                }],
                buttons: [{
                    text: '提交',
                    handler: function() {
                        form.getForm().submit();
                    }
                }]
            });
            form.render("form");

            var form2 = new Ext.form.FormPanel({
                labelAlign: 'right',
                title: 'form',
                labelWidth: 50,
                buttonAlign: 'center',
                frame:true,
                url: 'form2.jsp',
                width: 280,

                items: [{
                    xtype: 'fieldset',
                    title: '单选',
                    autoHeight:true,
                    defaultType: 'radio',
                    hideLabels: true,
                    items: [
                        {boxLabel: '单选一', name: 'radio', inputValue: '1', checked: true},
                        {boxLabel: '单选二', name: 'radio', inputValue: '2'},
                        {boxLabel: '单选三', name: 'radio', inputValue: '3'}
                    ]
                }],
                buttons: [{
                    text: '提交',
                    handler: function() {
                        form2.getForm().submit();
                    }
                }, {
                    text: 'getGroupValue',
                    handler: function() {
                        Ext.Msg.alert('信息', form2.getForm().findField('radio').getGroupValue());
                    }
                }]
            });
            form2.render("form2");
        });
    </script>
</head>
<body>
<div id="form" style="margin:100px;"></div>
<div id="form2" style="margin:100px;"></div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lang20150928

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值