将jQuery插件绑定到活动元素

将jQuery插件绑定到活动元素,jquery,jquery-plugins,bind,Jquery,Jquery Plugins,Bind,这只是一个简单的问题,但我似乎无法将插件函数绑定到克隆的活动元素 $('.add-another').live('click', function() { var self = $(this); var clonedElement = self.parents('.row').clone(); clonedElement.find('input.datepicker').bind('click', function() { $(this).datepick

这只是一个简单的问题,但我似乎无法将插件函数绑定到克隆的活动元素

$('.add-another').live('click', function()
{
   var self = $(this);
   var clonedElement = self.parents('.row').clone();

   clonedElement.find('input.datepicker').bind('click', function()
   {
       $(this).datepick({ rangeSelect: true });
   });
});
我使用的是插件(我没有使用jQueryUI,也没有使用datepicker)。那么,如何将插件函数绑定到克隆/活动元素

编辑:这里有一个。

您正在绑定一个id(#添加另一个)。该标准规定,任何时候都只能有一个具有给定ID的元素

所以,这并不能真正达到预期效果。将id更改为类(即#更改为an.)并重试:)

另一个可能的问题可能是HTML根本没有您期望的结构,并且一些查询失败。如果您发布HTML结构,我们将能够调试它:)

编辑: 您绑定到了“click”事件,这实际上是错误的-您可以在创建HTML元素的同时创建日期选择器

以下是新代码:

$('.row input.datepicker').datepick({ rangeSelect: true });

$('span.add-another').live('click', function()
{
    var self = $(this);
    var clone = self.parents('.row').clone();

    $('input.datepicker', clone).datepick({ rangeSelect: true });
    $(clone).insertAfter(self.parents('.row')).hide().slideDown('fast');

    self.remove();
});
另外,我有个坏消息要告诉你-datepicker插件坏了:)
日期选择器本身似乎只能在页面上显示一个日期选择器。
您应该研究如何显示几个,或者只使用jQueryUI

如您所见,这里只有原始对象具有日期选择器: 这里只有第一个添加的对象具有日期选择器:

所以,是的,插件坏了,很抱歉:)

您正在绑定一个id(#添加另一个)。该标准规定,任何时候都只能有一个具有给定ID的元素

所以,这并不能真正达到预期效果。将id更改为类(即#更改为an.)并重试:)

另一个可能的问题可能是HTML根本没有您期望的结构,并且一些查询失败。如果您发布HTML结构,我们将能够调试它:)

编辑: 您绑定到了“click”事件,这实际上是错误的-您可以在创建HTML元素的同时创建日期选择器

以下是新代码:

$('.row input.datepicker').datepick({ rangeSelect: true });

$('span.add-another').live('click', function()
{
    var self = $(this);
    var clone = self.parents('.row').clone();

    $('input.datepicker', clone).datepick({ rangeSelect: true });
    $(clone).insertAfter(self.parents('.row')).hide().slideDown('fast');

    self.remove();
});
另外,我有个坏消息要告诉你-datepicker插件坏了:)
日期选择器本身似乎只能在页面上显示一个日期选择器。
您应该研究如何显示几个,或者只使用jQueryUI

如您所见,这里只有原始对象具有日期选择器: 这里只有第一个添加的对象具有日期选择器:


所以,是的,插件坏了,很抱歉:)

您正在尝试将函数绑定到尚未在DOM中的克隆对象。将其插入dom中


使用live而不是与克隆对象绑定

尝试将函数绑定到尚未在DOM中的克隆对象。将其插入dom中


使用live而不是与克隆对象绑定

Oops,我的错误。我把它改成了一个类,但是它成功地克隆了,但是不能与datepicker函数一起工作,即使我使用了一个非活动元素,它也可以正常工作,但是没有克隆的元素似乎不会显示任何datepicker。你能做一个最小的JSFIDLE行为演示吗?这将使调试更容易。哎呀,我错了。我把它改成了一个类,但是它成功地克隆了,但是不能与datepicker函数一起工作,即使我使用了一个非活动元素,它也可以正常工作,但是没有克隆的元素似乎不会显示任何datepicker。你能做一个最小的JSFIDLE行为演示吗?这将使调试更容易。