javascript - 动态 checkin 数组

标签 javascript jquery calendar

我卡在了某个地方,这可能是最简单的问题,但我已经尽可能多地尝试谷歌搜索,但没有找到确切的结果。

  • 我有一个简单的日历,由 HTML、jquery 添加
  • 在我的 woocomerce/WordPress 网站中,我想根据日历上的预订开始和结束日期显示预订的产品数量。就像当用户将鼠标悬停在日历上的日期上时,预订产品的数量将显示在日期下方。 (我正在开发一个租赁网站,它的日期范围是从开始到结束,就像酒店一样,这个可以忽略。)

  • 如图所示,一种产品的日历显示正常 enter image description here

但是如果在 8 月 18 日,我们有两个产品已预订,我想在那里显示“2 个已预订”

为此,我使用了 inArray 函数。

  • 我有一组日期 (var only_dates)
  • 我有当前日期 (var some)[在开始和结束的范围内]

我试过console.log(jQuery.inArray(some, only_dates))

这是给了我结果 enter image description here 作为屏幕截图,我们已经有 8 月 18 日,所以在第二次,我想把它算作 2,然后 8 月 19 日也一样,依此类推。

对于一个对象我们可以尝试

if(jQuery.inArray(some, only_dates) == 1)
        {
        console.log('found')
        }

但在我的例子中,我如何在循环中动态使用 inArray(超过)然后打印出现的次数。

如有任何帮助,我们将不胜感激。谢谢。

编辑: 所以这是我的代码

$sepr_date = getDatesFromRange($start, $end); /*a function that coverts range dates into sequence*/
            foreach ($sepr_date as $dt) {?>
                <script type="text/javascript">
                ds = {'Date': new Date("<?php echo $dt; ?>"), 'Title': 'Booked', 'Link': 'javascript:void(0)'},
                events_s.push(ds)
                var some = "<?php echo $dt; ?>"
                only_dates.push(some)
                console.log(some)
                console.log(only_dates)
                if(jQuery.inArray(some, only_dates) != -1)
                {
                    console.log('found ' + some)
                }
                </script>   
            <?}?>

控制台给予:

enter image description here

在推送项目时,我想检查是否存在。 如果找到,则增加计数。 如果没有找到,就不要做这么简单的事情。

最佳答案

你可以使用grep函数:

var count = $.grep(only_dates, function (elem) {
    return elem === some;
}).length;

https://stackoverflow.com/a/5658562/7604006

关于javascript - 动态 checkin 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45729253/

相关文章:

javascript - 在 iOS 和 OSX 上的强制网络助手 (WISPr) 中运行 angularJS

javascript - 在backbone.js的 'el'上应用jQuery函数来获取其子项的值

jquery - 以编程方式触发 ResponsiveSlides.js

javascript - 在 bootstrap 或其他 jquery 对话框中显示各种信息的最佳方式

android - 使用 Intent 在月 View 中显示日历

ios - 在 iOS 中重命名 EKCalendar

javascript - jquery $ ("#someID").width(Variable + 'px' ) 有效,现在无效

javascript - 在 JavaScript 中验证 HTML 实体

javascript - 单击一个按钮,显示一个 div,降低除 div 之外的所有内容的不透明度,关闭 div 并将所有内容恢复为默认值

android - 选择日历事件查询