首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajax重绘组件停止加载Javascripts

Ajax重绘组件停止加载Javascripts
EN

Stack Overflow用户
提问于 2012-04-03 00:04:05
回答 3查看 187关注 0票数 1

我有一个wicket表单-当我单击submit时-它显示了数据库中的动态表-我希望表是可排序的-所以我使用listview repeater和table sorttable.js来对表进行排序。

现在,当我重新刷新页面时-我可以使用排序功能-但当我单击提交时,我无法对表进行排序

代码语言:javascript
复制
       wmc.add(new AttributeAppender("class", new Model("sorttable"), ";"));
       wmc.add(new AttributeAppender("onclick", new Model("sorttable()"), ";"));

       <table class="sortable" wicket:id="someContainer">

有没有什么方法可以在ajax重绘完成的同时重新加载我的sorttable.js?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-03 04:44:51

这里真正的问题是sorttable.js (至少是我找到的那个版本)并不是真的打算这么做。您确实可以将javascript调用附加到Ajax调用的末尾。查看我的结果at github

基本上,您需要将以下代码添加到重新加载ListView的AjaxSubmitLink中:

代码语言:javascript
复制
target.appendJavaScript("sorttable.init();");

唯一剩下的问题是,sorttable.js以某种方式阻止自己运行两次。所以我需要注释掉

代码语言:javascript
复制
if (arguments.callee.done)

签入init()函数。我对javascript的了解相当有限。如果你知道更好的方法,请让我知道。

票数 4
EN

Stack Overflow用户

发布于 2012-04-03 00:08:37

我不能保证100 %,但我认为不可能在此ajax调用中或由其触发的javascript也重新加载。

我将使用wicket框架提供的DefaultDataTable组件。它附带了对排序的构建支持。

票数 0
EN

Stack Overflow用户

发布于 2012-04-03 05:28:32

当你插入一些在准备好文档(jquery之类的东西)上执行的javascript时,你必须在将更改应用到你的DOM时重新附加事件,你可以按照bert所说的去做,或者覆盖称为renderHead的方法,

wathever wicket通过ajax实现了一个具有订单的表(请参阅http://wicketstuff.org/wicket14/repeater/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9979753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档