【问题标题】:ExtJS 3 dateDisabled from storeExtJS 3 dateDisabled from store
【发布时间】:2013-08-06 01:25:02
【问题描述】:

谁能帮帮我。我正在尝试动态分配我的日期字段的 disabledDates 属性的值

xtype: 'datefield',
disabledDates: disabledDates

这是获取商店并构建动态“disabledDates”数组的代码

var storeFechasOcupadas = new Ext.data.JsonStore({
     url: 'modules/citas/agendar/server/crudAgendar.php?operation=fechasOcupadas',
     root: 'data',
     id: 'id',
     fields: ['dias_laborables']
 });

 var disabledDates = [];
 storeFechasOcupadas.load({
      callback: function(record, operation, success) {
            for (var i = 0; i < record.length; i++) {
                 disabledDates.push(record[i].data['dias_laborables']);
             }
       }
  });

商店响应是这样的

{"success":true,"data":[
    {"id":12,"dias_laborables":"2013-08-10","disponible":false},
    {"id":16,"dias_laborables":"2013-08-15","disponible":false}
]}

我想得到的是这样的东西

disabledDates = ["2013-08-10","2013-08-14","2013-08-15"]

但是我在 console.log(disabledDates) 中看到的

[]
0   "2013-08-10"
1   "2013-08-15"
2   "2013-08-07"
3   "2013-08-19"
remove  function()
__proto__   []

即使我尝试获取 disabledDates[0] 它也会返回 undefined

提前感谢您的帮助

【问题讨论】:

    标签: arrays store extjs3 datefield


    【解决方案1】:

    最可能的情况是您的日期字段在来自 Ajax 请求的数据返回之前已经构建。尝试在存储加载事件中创建表单数组实际填充之后。

    【讨论】:

    • 嗨,埃文,感谢您抽出宝贵时间。 disabledDates 数组在创建表单之前可用。我遇到的问题是我可以得到这个结构 ["2013-08-10","2013-08-14","2013-08-15"],而不是我得到对象 [] 0 "2013- 08-10" 1 "2013-08-15"
    猜你喜欢
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多