2017-04-18 29 views
1

http://eonasdan.github.io/bootstrap-datetimepicker/自举的DateTimePicker:使用find()

我使用find()时设置日期找到的元素越来越Uncaught TypeError末时,()是不是一个函数。

Uncaught TypeError: $(...).find(...).data(...).end(...).find(...).data(...).date(...).end is not a function

$('.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个元素来更新,我不想开始重复行。

任何建议?

+1

的'.date'是从自举制成的jquery的扩展功能。 '.date'不包含在jquery库中,这可能会导致这种情况发生。 –

+0

了解。但任何可能的调整来调用'.end()'或返回到元素? –

+0

你想更新datetimepicker的日期吗? –

回答

2

由于Jacky Shek在评论中陈述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');