2014-03-12 85 views
0

我有幾個過濾器,搜索引擎,但如果你選擇一個或多個選項,並選擇行動「過濾器」,在selectach是我的第一選擇,而不是在我過濾。當我選擇一個特定的過濾器,在過濾器或過濾器批准後搜索(重新加載頁面)後,我怎麼能記住過濾器,然後我搜索?如何添加選擇ATTR選擇選項

代碼:

<form action="index.php?id=fakturysprzedaz" method='GET'> 
<tr><td colspan="2" style="height: 10px;"></td></tr> 
<input type='hidden' name='id' value='fakturysprzedaz' > 
Typ <select name="type"> 
<option value="0" name="type" >Wszystko</option> 
<option value="1" name="type">Pro-forma</option> 
<option value="2" name="type">Faktura VAT</option> 
<option value="3" name="type">Korekta faktury VAT</option> 
<option value="4" name="type">Faktura barterowa</option> 
</select> 


<br> 
Status<select name="status"> 
<option name="status" value="0">Wszystko</option> 
<option name="status" value="1">Do akceptacji</option> 
<option name="status" value="2">Anulowana</option> 
<option name="status" value="3">Odrzucona</option> 
<option name="status" value="4">Zaakceptopwana</option> 
<option name="status" value="5">Wersja robocza</option> 
</select><br> 
Tansakcja<select name="transakcja"> 
<option name="transakcja" value="0">Wszystko</option> 
<option name="transakcja" value="1">Krajowa</option> 
<option name="transakcja" value="2">Zagraniczna</option> 
</select><br> 
Status Płatności<select name="status-plat"> 
<option name="status-plat" value="0">Wszystko</option> 
<option name="status-plat" value="2">Zapłacono</option> 
<option name="status-plat" value="1">Nie zapłacono</option> 
</select> 
<br> 
Kontrahent 
<select name="kontrahenci"> 

<option name="kontrahenci" value="0">Wszystko</option> 
<? 
$kontrahenciQuery=mysql_query("SELECT * FROM contractors"); 
while($kontrahenci=mysql_fetch_object($kontrahenciQuery)){ 
?> 
<option name="kontrahenci" value="<?=$kontrahenci->id?>"><?=$kontrahenci->name?></option> 
<? 
} 
?> 
</select><br> 
Użytkownik<select name="uzytkownik"> 
<option name="uzytkownik" value="0">Wszystko</option> 
<? 
$uzytkownicyQuery=mysql_query("SELECT * FROM users"); 
while($uzytkownicy=mysql_fetch_object($uzytkownicyQuery)){ 
?> 
<option name="uzytkownik" value="<?=$uzytkownicy->id?>"><?=$uzytkownicy->first_name?> <?=$uzytkownicy->last_name?></option> 
<? 
} 
?> 
</select><br> 
Oddział<select name="oddzial"> 
<option name="oddzial" value="0">Wszystko</option> 
<? 
$oddzialQuery=mysql_query("SELECT * FROM departments"); 
while($oddzial=mysql_fetch_object($oddzialQuery)){ 
?> 
<option name="oddzial" value="<?=$oddzial->id?>"><?=$oddzial->name?> (<?=$oddzial->shortname?>)</option> 
<? 
} 
?> 
</select><br> 

<tr><td colspan="2" style="height: 10px;"></td></tr> 
<tr><td colspan="2" style="height: 30px;"><input type="submit" class="button" name="szukaj" value="Filtruj" /></td></tr> 
<?$lata=mysql_query("SELECT DISTINCT YEAR(date_issue) as year FROM invoices_sales"); 
while($rok=mysql_fetch_object($lata)){ 
?> 
<button type="submit" value="<?=$rok->year?>" name="rok"><?=$rok->year?></button> 
<? 
} 
?> 
<? 
if(isset($_GET['rok'])) 
$miesiace=mysql_query("SELECT DISTINCT MONTH(date_issue) as month FROM invoices_sales WHERE YEAR(date_issue)='".$_GET['rok']."'"); 
else{ 
$miesiace=mysql_query("SELECT DISTINCT MONTH(date_issue) as month FROM invoices_sales WHERE YEAR(date_issue)='".$_SESSION['a-rok']."'"); 
} 
while($miesiac=mysql_fetch_object($miesiace)){ 
//print_r($miesiac); 
?> 
<button type="submit" value="<?=$miesiac->month?>" name="month"><?=$miesiac->month?></button> 
<? 
} 
?> 
</form> 
+0

你可以請嘗試改寫你的問題嗎?目前還不清楚你在問什麼。 –

回答

0

當您返回到您的網頁,你希望你的選擇,以保持價值,對不對? 你想要做的是保存你的選擇框的狀態。

獲得的這三種方式做,我想起:選擇框

  1. 獲取價值,序列化,並將它們存儲在cookie

    一個很好的解決方案是here

  2. 獲得價值,並通過Ajax的狀態保存到你的後端

  3. 獲取價值,並通過獲取RSAVE鍵狀態equest到您的後端

$(document).ready(function() { 
    $('#myDropdown').val('<?php echo $_GET['saveFilters']; ?>'); 
    $('#myDropdown').change(function() { 
    location.href = 'http://website.com/backend.php?saveFilters=' + $(this).val(); 
    }); 
}); 

獲取值意味着獲得「選定」狀態。你可以通過$("myDropdown).val();$("myDropdown option:selected);得到。

當頁面重新加載,使用保存的Cookie或保存的會話數據來重新創建正確顯示。

0

不要使用名稱標籤與選項。僅在選擇時才使用它。如果我的問題是正確的,當您迭代選項時,爲選定的選項添加「selected」標籤,如下所示:「<option selected value='1'>Choise 1</option>」。如果例如$ _REQUEST [kontrahenci] -parameter的值與迭代行的值相同,則應該選擇該選項。