你应该definitly考虑knockout.js @http://knockoutjs.com/examples/betterList.html
一旦你知道它是如何工作的,你会简单的喜欢它。
编辑:
多一点信息: 你会observableArrays将触发淘汰赛尽快修改(如sort例如)更改HTML为你工作 - 这太不可思议了吧?
EDIT2:
堆栈溢出淘汰赛很大的支持为好,这样的问题将最有可能得到回答!
所以淘汰赛与视图绑定的视图模型一起使用。 在这个viewmodel里面,你会有一个partyList(在我的例子中叫做party),它是一个observableArray。 的视图模型可以被格式化成这样:
var viewmodel = function(){
self = this;
self.parties = ko.observableArray([{ name: "Halloween", date: "2014/10/31" },{ name: "Christmas", date: "2014/12/25" }]);
self.sortParties = function(){
self.sortParties().sort(function(a, b){
//here comes the sorting logic you want to apply
}
});
};
ko.applyBindings(new viewmodel());
的HTML可能是这样的:
<div data-bind="foreach: parties">
<div data-bind="text: name" />
<div data-bind="text: date" />
</div>
<button data-bind="click: sort">Sort</button>
这个HTML将首先呈现两个内部的div各方阵列中的每个事件(所以在这种情况下2)并显示名称和日期。
如果用户单击该按钮,则会调用排序方法。关于淘汰赛的好处在于,无论数组中的对象的顺序如何,都会在HTML中完全呈现,而无需执行其他任何操作,然后单击该按钮。我提供的代码就是你需要的所有东西(当然包括挖空脚本),以使其发挥作用。
你想添加一个新的派对?没问题,向viewmodel添加一个add方法,这会将一方添加到各方,并且它将出现在HTML中。
谢谢,我可以使用php的屁股。我gona测试这个。 – Marc 2014-10-31 13:14:07
但你必须使用类似var_dump($ oldEvents); var_dump($ newEvents); – jankal 2014-10-31 13:22:36
哦,上帝,我真的吸这个,没有显示任何东西,需要显示万圣节派对吗 – Marc 2014-10-31 13:25:03