2011-07-23 42 views
0

我有一個關於ajax的問題​​。重新加載寬度ajax並保留當前類

舉一個例子:我有一個菜單列表(ul li),默認情況下,第一個類有'current'類。 如果我用jquery點擊第二個項目賦予class'current'給他並從前一個項目中移除它。

現在,我需要用ajax重新加載菜單列表,所以我調用了ajax函數,該函數調用返回更新html列表的php函數。

但是在這種方式下,我失去了第二個列表中的'當前'類,即在我分配jQuery之前。

多次發生這種類型的問題..什麼是解決它的正確解決方案?

回答

0

這樣做是與類current得到li的指數,並在ajax成功回調current類分配給合適的索引

看看這個小提琴得到li的索引的一種方式http://jsfiddle.net/3nigma/zyayj/

success回調

success:function(data){ 
var i = index -1; // index is zero based and eq() is 1 based 
$("ul li:eq(i)").addClass("current"); 

} 
+0

確定,但如果與PHP的功能我添加了一個項目?最後一個索引不再有效...現在我使用id爲每個項目,在調用ajax函數之前,我將當前項目保存在一個變量中,並且當ajax完成時,恢復「當前」..但是我沒有認爲這個解決方案是「正確的解決方案」。 也許與會議... – keepyourweb

0

我認爲你的問題說明你還不知道網頁是「無狀態的」,這意味着他們不會「自動」保存或存儲你使用它們做的任何事情。

請參閱我的回答提供一個私人問題,其中總結了如何處理保持事物狀態的方法 - 原則對於您的菜單將保持不變。

Stateless HTML

相關問題