javascript - 禁用多个日期字段

标签 javascript extjs extjs4

我有一个复选框可以控制 ExtJs 中的 4 个日期字段。我希望能够为它们提供一个通用属性,以便能够使用一个命令禁用所有字段。 我认为有一种更简单的方法可以做到这一点。它可以工作,但它是一个很大的代码块。

这是到目前为止复选框的更改事件实现:

 change: function (cmp, newValue, oldValue, eOpts) {

        var dt1 = cmp.up().down('#Dtf1');
        dt1.setDisabled(newValue);
        var dt2 = cmp.up().down('#Dtf2');
        dt2.setDisabled(newValue);
        var dt3 = cmp.up().down('#Dtf3');
        dt3.setDisabled(newValue);
        var dt4 = cmp.up().down('#Dtf4');
        dt4.setDisabled(newValue);      }

最佳答案

您可以添加一个属性,例如:

{
    xtype: 'textfieid',
    itemId: 'Dtf1',
    dtf: true
}

然后您将能够进行如下查询:

cmp.up().query('[dtf=true]').forEach(function(item){
    item.setDisabled(newValue);
});

或者也可以使用查询,例如:

cmp.up().query('#Dtf1, #Dtf2, #Dtf3, #Dtf4').forEach(function(item){
    item.setDisabled(newValue);
});

关于javascript - 禁用多个日期字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32999799/

相关文章:

javascript - 如何在不重新加载整个页面的情况下重新加载网页中的组件

javascript - 后续错误

sorting - ExtJs - 基于远程数据的分页和缓冲网格,无需远程分页和过滤

javascript - 将 JSON 转换为 HTML

javascript - 将表单的名称和值放入对象数组 [名称 : value]

javascript - Sencha extjs setValue 字符串到数字字段

javascript - 使用 ExtJS 将 TextAreas 动态添加到用户输入的 FormPanel

html - 将 <br> 替换为使其宽度适应容器 : possible? 的水平线

javascript - Ext.getStore() 快捷方式?

ExtJS Controller 在超链接点击时触发