【发布时间】:2012-12-25 15:55:45
【问题描述】:
我的文档上有两个输入按钮,它们包含在一个主 div“容器”中。
我为他们使用的代码是:
<input id="anotherservices" type="button" value="Add Another Service">
<input id="addmultiterms" type="button" value="Go">
现在,当我单击第一个按钮,即值为“添加另一个服务”的按钮时,我需要上述两个按钮都淡出,然后执行 ajax 请求。然后两个按钮再次附加到主“容器”div。
这是递归的,这意味着当我再次单击新添加的第一个按钮时,两个新添加的按钮都会再次淡出,并且必须将另一组添加到文档中。
我用于完成此操作的代码如下:
$('#anotherservices').live("click",function(e)
{
$(this).fadeOut();
$('#addmultiterms').fadeOut();
/* ajax request goes here */
$('#container').append('<input id="anotherservices" type="button" value="Add Another Service">');
$('#container').append('<input id="addmultiterms" type="button" value="Go">');
但是第二个按钮,值“Go”并没有淡出,因为它没有在运行时被添加到 dom。
我如何做到这一点?
【问题讨论】:
-
fadeOut() 不会删除元素,它只是隐藏它们,因此您正在创建具有相同 ID 的多个元素。为什么不使用 .append() 将现有按钮移动到容器的末尾,然后使用 fadeIn() 再次显示它们?
-
将淡出更改为删除。现在它可以工作了。非常感谢:)