你應該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