首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当用户更改思维时,对象属性不会更新

当用户更改思维时,对象属性不会更新
EN

Stack Overflow用户
提问于 2021-09-27 22:38:40
回答 2查看 509关注 0票数 0

这样做的想法是,一旦从选择器中选择了一个特定的省,日历随后只会显示平面选择器日历中可用的日期。这是可行的。

但是,当用户改变主意并选择另一个省时,该省份的可用日期不会被更新。Console.log (数据)显示正在更新的日期,只是没有反映在日历中。

因此,我想具体的问题是:如何重置enable属性。

代码语言:javascript
复制
$(document).ready(function(){
    $('select[name="provincie"]').on('change',function(){
      var provincie_id = $(this).val();
      if (provincie_id){
        $.ajax({
            url: 'provincie/datum/'+provincie_id,
            type: 'GET',
            dataType: 'json',
            success: function (data){
                  var config = {
                    inline: false,
                    altInput: true,
                    dateFormat: "Y-m-d",
                    enable: data,

                  }
                 console.log(data); //shows dates are being updated
                $("input[type=datepick]").flatpickr(config);
            }
        });
      } else {
        $('select[name="times"]').empty();
      }

    });

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

这是第一省的数据:

代码语言:javascript
复制
["2021-09-27","2021-09-28","2021-09-29","2021-09-30"]

第二省:

代码语言:javascript
复制
["2021-10-06","2021-10-08","2021-10-15","2021-10-28"]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-27 22:56:08

.flatpickr(config)仅用于数据报警器的初始配置。如果要更改现有的数据报警器,则需要使用"set"方法:

代码语言:javascript
复制
$("input[type=datepick]").flatpickr("set", "enable", data);
票数 1
EN

Stack Overflow用户

发布于 2021-09-28 09:16:56

感谢巴玛尔的帮助。下面是修改后的代码。我还添加了一个clear()来重置这些值。

代码语言:javascript
复制
$(document).ready(function(){
  let calendar = flatpickr("input[type=datepick]",{altInput:true, dateFormat:"Y-m-d", enable:["2021-09-30"]});

    $('select[name="provincie"]').on('change',function(){
      calendar.clear();

      var provincie_id = $(this).val();

      if (provincie_id){

        $.ajax({
            url: 'thuisprik-afspraak/datum/'+provincie_id,
            type: 'GET',
            dataType: 'json',
            success: function (data){

                calendar.set("enable", data);
            }
        });
      } else {
        $('select[name="stad"]').empty();
      }

    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69353952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档