首頁  >  問答  >  主體

javascript - 用jquery實作表格行 置頂之後 如何跟後台用ajax互動 在刷新之後仍保持目前位置?

如題所示,在每行的後面有一個top按鈕,點擊置頂,由於有settimeout自刷新,並重新獲取數據,所以這個置頂位置並不能保持,每次刷新之後就沒有效果了

程式碼:

$(".top").click(function(){ 
        var $tr = $(this).parents("tr"); 
        $tr.fadeOut().fadeIn();
        $("tbody").prepend($tr); 
        $(this).css({"color":"red","font-weight":"bold"});
}); 

其實這部分程式碼對解決問題沒什麼作用,主要還是想知道如何與後台交互 或在前台影響全局變量,從而保持當前置頂位置

PHP中文网PHP中文网2671 天前836

全部回覆(2)我來回復

  • 習慣沉默

    習慣沉默2017-06-26 10:56:48

    得看看你這個置頂是永久性的還是一時性的!

    • 如果是永久性的置頂,那你的數據肯定是存儲在數據庫裡的,並且有個字段用來標識該條數據是否為置頂數據,綁定到前端的時候,通過標識來判斷這條數據是否置頂,這個就完全不需要前端來考慮這個問題吧?你在前端只不過是把這部分數據展示而已。

    • 如果你的置頂只是一時性的,你可以在每次請求ajax數據之前,獲取到置頂數據行的某列數據作為標識(這個由你自己來定,不過該列的值必須是唯一的) ,然後再去請求ajax數據,在綁定的時候,用你存儲下來的標識跟請求到數據進行判斷,相等的話就把改行數據設置為置頂。 (感覺寫這種置頂沒多大意義, 因為這種置頂數據只有你自己能看的到,要是你把頁面關閉了一樣沒用,畢竟不是永久性的)

    回覆
    0
  • 代言

    代言2017-06-26 10:56:48

    直接叫你們後台寫個接口,當你點擊置頂的時候,把這條數據的id傳到後台,再讓後台把它排到第一條數據返回給你,這樣即使有settimeout你接收到的也是你置頂後的數據啦

    回覆
    0
  • 取消回覆