将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行为演示吗?这将使调试更容易。