Javascript 取消选中无线电场

Javascript 取消选中无线电场,javascript,checkbox,extjs,radio-button,extjs6-modern,Javascript,Checkbox,Extjs,Radio Button,Extjs6 Modern,我需要单击一个无线电场并选中它,在同一个无线电场上单击另一次并取消选中它 我的代码不起作用,因为getChecked()总是正确的! 这是我的功能,点击事件触发。 我的extjs版本是6.2.1.167 listeners: { click: { element: 'element', fn: function (event, target) { var radioField = this.component;

我需要单击一个无线电场并选中它,在同一个无线电场上单击另一次并取消选中它

我的代码不起作用,因为
getChecked()
总是正确的! 这是我的功能,点击事件触发。 我的extjs版本是6.2.1.167

listeners: {
    click: {
        element: 'element',
        fn: function (event, target) {
            var radioField = this.component;
            if (radioField.getChecked()) {
                radioField.setChecked(false);
            }
            else {
                radioField.setChecked(true);
            }
        }
    }
},

您确定正在检查收音机的功能是否正确?我看到了

radioField.checked

或者你是在用你自己的方法检查收音机吗?

你的例子在我的例子中起作用


但正如@LenapCapo所说的,你正试图将无线电波箱用于其他目的。如果您需要圆形复选框,最好重新定义复选框样式。

为什么使用收音机而不是复选框?@LenapCapo您是对的,我知道。。。但这并不取决于me@CristinaMoretti,现代无线电场上没有点击事件。这是一个检查事件,将始终返回true。即使尝试使用更改事件也不会起作用,因为只有在检查另一个无线电场时才会触发对无线电场的更改。您需要创建自定义替代以a)引入自定义事件或b)替代现有事件。这是关于无线电领域的文件。你是说radiofield.checked而不是getChecked()?请尝试使用版本6.2.1.167 modern?它不适用于此版本…是的,在6.2.1上不适用。我建议您使用以下解决方案
{xtype:'checkboxfield',name:'color',cls:'x-radiofield',value:'red',label:'red',checked:true}
谢谢您是最好的。你能帮我最后一次吗?我应该怎么做才能只启用单个选择?如果您指的是初始状态,请从所需字段中删除选中的属性
。如果您想在切换时只选择一个字段,您需要无线字段,因此不能只选择一个字段,也可以取消选择?