Javascript 如何在wicket中隐藏/显示yui.calendar.DatePicker

Javascript 如何在wicket中隐藏/显示yui.calendar.DatePicker,javascript,datepicker,wicket,visibility,Javascript,Datepicker,Wicket,Visibility,我遇到了一个问题,希望你们能帮我解决 我使用带有日期选择器的DateTextField(来自yui.calendar),它们都被添加到一个WebMarkupContainer中,OutputMarkupId和OutputMarkupPlaceholderTag设置为true 我希望能够设置容器的可见性,但当我将其从true设置为false设置为true时,日期选择器不再可见(我猜这与HTML(?)中没有提到的日期选择器有关),我必须重新加载整个页面(并释放输入数据)以使日期选择器再次可见。Dat

我遇到了一个问题,希望你们能帮我解决

我使用带有日期选择器的DateTextField(来自yui.calendar),它们都被添加到一个WebMarkupContainer中,OutputMarkupId和OutputMarkupPlaceholderTag设置为true

我希望能够设置容器的可见性,但当我将其从true设置为false设置为true时,日期选择器不再可见(我猜这与HTML(?)中没有提到的日期选择器有关),我必须重新加载整个页面(并释放输入数据)以使日期选择器再次可见。DateTextField没有问题。有什么好办法解决这个问题吗

爪哇:

AjaxLink onClick:

containsAllContainer.setVisible(!containsAllContainer.isVisible());
target.add(containsAllContainer);//Edit
我试图从invoiceDateFromField中删除DatePicker,然后在容器设置为visible时添加一个新的,但这似乎也不起作用

谢谢!

当您在Wicket中将DOM元素设置为visible=false时,Olle

YUI将失去与DOM元素的连接(因为节点已从DOM中删除)。因此,当您将其添加回页面时,您的YUI calendar实例在DOM中不再有任何关联字段。每次使用Wicket重新呈现DateTextField时,您需要确保使用新的calendar实例更新引用

是否使用将容器添加到AjaxRequestTarget?是。已编辑,感谢您指出。单击什么隐藏(或显示)容器?@Jack I单击带有添加AjaxEventBehavior的WebMarkupContainer(html中的div)。在系统的另一部分,它的工作原理略有不同,但结果相同。这有什么关系?很抱歉迟了回复。我想你可能已经使用了ContainesAllContainer,所以一旦它被隐藏,就没有什么可点击的了。很抱歉,您的回复更晚;-)
containsAllContainer.setVisible(!containsAllContainer.isVisible());
target.add(containsAllContainer);//Edit