javascript - 从另一个函数内部调用日期选择器选项函数

标签 javascript jquery ajax datepicker promise

我有以下函数,它使用 Promise 从异步 ajax 调用返回数据:

$("#mySelect").on('change', function() {
      var mySelectValue = $('#mySelect').val();
      var promise = getAvailableDates(mySelectValue);

      promise.done( function(data) { // tested and returning data

        var array = data;

        $('#a_date').datepicker({ // this function not working
           dateFormat: "yy-mm-dd",
           beforeShowDay: function (date) {      
               var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
               return [array.indexOf(string) >= 0 ]
           }
        });

      });
   });

为什么 $('#a_date').datepicker() 函数在另一个函数中不起作用?

它不会根据我的 Ajax 调用返回的数据响应我的 dateFormatbeforeShowDay 设置。

如何从返回的 Promise 中调整日期选择器设置?

最佳答案

您必须通过以下语句销毁在重新初始化之前创建的第一个datetimepicker对象:

$("#datepicker").datepicker("destroy");

请参阅以下内容:

$( function() {
    $( "#datepicker" ).datepicker({
      dateFormat: "yy-mm-dd"
    });
    
    $("#btn1").click(function(){
      $("#datepicker").datepicker("destroy");
      $("#datepicker").datepicker({
        dateFormat: "dd/mm/yy"
      });
      console.log("Format changed, try to select a new date");
    });
  } );
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<p>Date: <input type="text" id="datepicker"></p>
<input type="button" id="btn1" value="Change format">

关于javascript - 从另一个函数内部调用日期选择器选项函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43369498/

相关文章:

c# - 如何在 Web 应用程序中更改文本框输入语言

javascript - Ajax 调用 jSON 接收未定义

javascript - 为什么我在图形后面添加背景图像后不再起作用?

javascript - 如何仅使用 CSS 动态更改与父宽度相关的元素宽度?

javascript - 如何在sencha2 的cardlayout 中从page3 跳转到page1?

javascript - jslint 错误..不要在循环内创建函数

javascript - 无限平铺网页

jquery - 有没有可以同时显示日历和时钟的插件?

Javascript 类和 DWR

javascript - 为什么 fetch 会返回一个奇怪的整数散列?