您正在使用的服務器端腳本(如PHP)?在獲取您在網格中顯示的數據..?我沒有嘗試過使用lastOption的東西,但你可以試試這個..它只是一個簡單的PHP技巧...使用$_SESSION
...我也有像你一樣的情況..並且$ _SESSION函數適用於我。
下面是示例代碼。
通常在服務器端,你有這樣的代碼來獲取數據庫中的一些數據。 您需要發送從搜索字段發送的參數。你沒有在這裏發佈你的服務器端代碼。所以我會假設它看起來像這樣。你需要從後提交到在數據庫搜索的搜索參數
//第一件事//
$pattern = $_REQUEST['search_pattern']; //you may also use the $_POST instead of $_REQUEST
//你的數據庫查詢可能是這樣的..
("SELECT * FROM your_table WHERE table_data LIKE %$pattern% ");
//每次載入網格時。它會一直調用server.so,如果你提出一個條件,即要顯示的數據將取決於你的搜索字段的值,如果你的函數返回一個NULL,它肯定不會顯示任何數據。
所以,如果你在搜索字段中加載一個值並加載網格。在第一次加載時,服務器獲得了該模式的值,因此您在網格上獲得了輸出,但請記住,服務器端頁面僅保留一次值,如果服務器端頁面已刷新或再次加載,值現在將爲空,除非你再次在搜索字段上放置一些東西。這就是我認爲在按下下一個按鈕後沒有顯示的原因,因爲下一個按鈕再次加載服務器端頁面,但是這次下一個按鈕沒有參數,這就是服務器無法獲取任何數據的原因,因爲該模式現在是NULL 。因此,爲了保持您長時間輸入的價值,我們需要使用$ _SESSION ... //代碼看起來像這樣。
因爲每次我們加載服務器頁面,它總是執行$ _POST函數,所以如果我們發佈一個空值,因此它也會導致一個null也可以獲得我們前一段時間發佈的值搜索字段,我們會把這個值放到會話中。在這裏它去...
$pattern = $_POST['search_pattern'];
起初,如果鍵入的搜索領域的東西,在$格局將有一個值,那麼我們將是保存到一個會話變量,
$_SESSION['pattern'] = $pattern;
但請記住,每次按下一個按鈕時,下一個按鈕也會加載服務器端頁面,重新加載服務器頁面,此時$_POST
返回空值,因爲我們沒有發送參數和下一個按鈕。因此,我們只需要在會話變量上存儲一個值,POST有一個值,當您在搜索字段中鍵入一個單詞時。我們需要這樣做。
$pattern = $_POST['search_pattern'];
if($pattern != ''){
// we need to check if the value is null because when you pressed the next button after it reloads the pages it would now be null and this time we need to get the previous value. while if the value is not null we will save it to the session variable..
$_SESSION['pattern'] = $pattern;
}else{
// here is when the next button is pressed it will go here since the $_POST is now null
we will get the previous value that we saved on the session variable//
$pattern = $_SESSION['$pattern'];
}
那之後,查詢數據到數據庫...
整個代碼應該是這樣..
<?php
session_start();
// mysql connection here//
$pattern = $_POST['search_pattern'];
if($search_pattern !=''){
$_SESSION['pattern'] = $pattern;
}else{
$pattern = $_SESSION['pattern'];
}
$start = ($_REQUEST['start'] != '') ? $_REQUEST['start'] : 0;
$limit = ($_REQUEST['limit'] != '') ? $_REQUEST['limit'] : 20;
$query =mysql_query("SELECT * FROM students WHERE lname LIKE '$pattern%' ");
$totaldata = mysql_num_rows($query);
while($row = mysql_fetch_assoc($query)){
$items[] = array(
'id' => $row['student_id'],
'lname' => $row['lname'],
'fname' => $row['fname'],
'mname' => $row['mname'],
'gender' => $row['gender'],
);
}
$matches = Array();
foreach ($items as $item) {
$matches[] = $item;
}
echo '({"totalCount":"'.$totaldata.'","matches":'.json_encode($matches).'})';
?>