javascript - 在 JavaScript 中使用循环代替大量 or 语句

标签 javascript jquery arrays

我试图在日期选择器中获取预订房间的所有日期,我使用内置函数 isInvalidDate 得到了这个,问题是它现在是静态的,我需要添加 || date.format('YYYY-MM-DD') == '<?php echo $items['1'] ?>'对于数组中的每个项目。 我可以在某种循环中执行此操作吗? var_dump 的输出是:`

array(7) { [0]=> string(10) "2017-06-09" [1]=> string(10) "2017-06-10" [2]=> string(10) "2017-06-11" [3]=> string(10) "2017-06-12" [4]=> string(10) "2017-06-14" [5]=> string(10) "2017-06-15" [6]=> string(10) "2017-06-16" }

` 因此,每次使用脚本时,数组中的项目数量可能会或多或少。

<script type="text/javascript">
$(function() {

  $('input[name="datefilter"]').daterangepicker({
      autoUpdateInput: false,
      linkedCalendars: false,
      selectPastInvalidDate: false,
      isInvalidDate: function(date) {
      if (date.format('YYYY-MM-DD') == '<?php   echo $items['0'] ?>' || date.format('YYYY-MM-DD') == '<?php   echo $items['1'] ?>') {
          return true;
      } else {
          return false;
      }
  },
      locale: {
          cancelLabel: 'Clear'
      }
  });



  $('input[name="datefilter"]').on('apply.daterangepicker', function(ev, picker) {
      $(this).val(picker.startDate.format('MM/DD/YYYY') + ' - ' + picker.endDate.format('MM/DD/YYYY'));
  });

  $('input[name="datefilter"]').on('cancel.daterangepicker', function(ev, picker) {
      $(this).val('');
  });

});
</script>

最佳答案

使用 json_encode() 将完整数组传递给 JavaScript 变量,然后使用 JavaScript 数组方法

var inValidDates = <?php echo json_encode($items) ?>;

$('input[name="datefilter"]').daterangepicker({
      ....
      isInvalidDate: function(date) {
         return inValidDates.indexOf(date.format('YYYY-MM-DD')) >-1;
      },
      .....
});

关于javascript - 在 JavaScript 中使用循环代替大量 or 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44434805/

相关文章:

javascript - 如何实现Excel的ACCRINT

jquery - 每 10 秒在 FOR 中运行一个函数

c++ - 如何在类中初始化二维数组?

javascript - 如何找到一个数字数组的总和

javascript - Angular 2多步动画

javascript - JavaScript 中这两个函数有什么区别?

javascript - Promise 构造函数的静态方法

javascript - 如何根据页面 url 从数据库中填充页面上的表单字段?

c# - 为什么在 Web API 中的放置请求期间我的模型属性为空?

java - 我想使用在父类(super class)中创建的数组中的子类中的字段