-1

我创建了这个简单的时间选择器应用程序,但由于某种原因,这段代码不起作用。我让它工作了(也许这是我的想象)。

我有 4 个单选按钮。每个按钮都附加了一个单击事件(使用 jquery 的 live 方法),我显示了一个 DIV 并隐藏了其他 DIV。我还(我以为我是)将插件的方法添加到新显示的 DIV 中。

看看下面的链接,你就会明白我的意思。第一个 DIV 有效,但随后的 DIV 无效。我错过了什么?

谢谢!

http://jsbin.com/ebige3

4

1 回答 1

1

你的代码有很多问题。一方面,有几个带有 idstarttime和的文本框endtime,而一个 id 在文档中应该只出现一次。

导致您的问题的原因是,单击任何单选按钮后,将针对与选择器匹配的所有元素timepicker进行初始化。这将意味着第一个(可见),工作正常,并且选择字段的位置很好,但是对于后续的,它是在它们关联的 div 被隐藏时定位的,因此,他们的位置无法计算。$("#starttime, #endtime")divdiv

我会考虑更改代码,以便您div的 id 名为“recur1”、“recur2”等,而不是“每日”和“每周”,并且还给他们所有人一个“recur”类。然后,您将能够删除所有 if 语句并执行以下操作:

$('.recur').hide();
$('#recur'+recurType).show();

它还将使您能够执行此操作,这将解决您的问题:

$('#recur'+recurType).find("#starttime, #endtime").timePicker({ ... });
于 2009-12-30T07:35:42.887 回答