我创建了这个简单的时间选择器应用程序,但由于某种原因,这段代码不起作用。我让它工作了(也许这是我的想象)。
我有 4 个单选按钮。每个按钮都附加了一个单击事件(使用 jquery 的 live 方法),我显示了一个 DIV 并隐藏了其他 DIV。我还(我以为我是)将插件的方法添加到新显示的 DIV 中。
看看下面的链接,你就会明白我的意思。第一个 DIV 有效,但随后的 DIV 无效。我错过了什么?
谢谢!
我创建了这个简单的时间选择器应用程序,但由于某种原因,这段代码不起作用。我让它工作了(也许这是我的想象)。
我有 4 个单选按钮。每个按钮都附加了一个单击事件(使用 jquery 的 live 方法),我显示了一个 DIV 并隐藏了其他 DIV。我还(我以为我是)将插件的方法添加到新显示的 DIV 中。
看看下面的链接,你就会明白我的意思。第一个 DIV 有效,但随后的 DIV 无效。我错过了什么?
谢谢!
你的代码有很多问题。一方面,有几个带有 idstarttime
和的文本框endtime
,而一个 id 在文档中应该只出现一次。
导致您的问题的原因是,单击任何单选按钮后,将针对与选择器匹配的所有元素timepicker
进行初始化。这将意味着第一个(可见),工作正常,并且选择字段的位置很好,但是对于后续的,它是在它们关联的 div 被隐藏时定位的,因此,他们的位置无法计算。$("#starttime, #endtime")
div
div
我会考虑更改代码,以便您div
的 id 名为“recur1”、“recur2”等,而不是“每日”和“每周”,并且还给他们所有人一个“recur”类。然后,您将能够删除所有 if 语句并执行以下操作:
$('.recur').hide();
$('#recur'+recurType).show();
它还将使您能够执行此操作,这将解决您的问题:
$('#recur'+recurType).find("#starttime, #endtime").timePicker({ ... });