【问题标题】:Bootstrap-datetimepicker: end() is not a function when using find()Bootstrap-datetimepicker:使用 find() 时 end() 不是函数
【发布时间】:2017-04-18 02:27:14
【问题描述】:

http://eonasdan.github.io/bootstrap-datetimepicker/

当使用 find() 设置找到的元素的日期时,我收到了 Uncaught TypeError

未捕获的类型错误: $(...).find(...).data(...).end(...).find(...).data(...).date(...).end 不是函数

$('.assignees-form .assignee:last')
    .find('.start input').data('DateTimePicker').date('04/17/2017 19:50 pm').end()
    .find('.due input').data('DateTimePicker').date('04/17/2017 20:15 pm').end()
    ......

不使用end() 时工作正常。

$('.assignees-form .assignee:last').find('.start input').data('DateTimePicker').date('04/17/2017 19:50 pm');
$('.assignees-form .assignee:last').find('.due input').data('DateTimePicker').date('04/17/2017 20:15 pm');

我有超过 25 个元素要更新,我不想开始重复行。

有什么建议吗?

【问题讨论】:

  • .date 是 jquery 的扩展函数,由 bootstrap 生成。并且 .date 不包含在 jquery 库中,这可能会发生这种情况。
  • 明白。但是是否有任何可能的调整来调用.end() 或返回元素?
  • 你想更新 datetimepicker 的日期吗?

标签: jquery datetimepicker eonasdan-datetimepicker


【解决方案1】:

正如 Jacky Shek 在 cmets 中所说,date() 是 datetimepicker 的一个函数,它不返回 jQuery 对象,因此它不可链接。

您可以缓存您的 jQuery 选择器,然后使用 find 而不是使用 end()

您的代码可能如下所示:

var $elem = $('.assignees-form .assignee:last');
$elem.find('.start input').data('DateTimePicker').date('04/17/2017 19:50 pm');
$elem.find('.due input').data('DateTimePicker').date('04/17/2017 20:15 pm');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-30
    • 2018-06-16
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-01
    相关资源
    最近更新 更多