Как добавить выбранный атрибут для выбора опции

0

У меня есть несколько фильтров, поисковые системы, но если вы выберете один или несколько параметров и выберите действие "фильтр", в selectach будут мои первые выборы, а не то, что я фильтрую. Как я могу это сделать, когда вы выбираете конкретный фильтр, поиск после утверждения фильтра или фильтров (перезагрузка страницы) запоминал фильтр, после которого я искал?

Код:

<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
    Можете ли вы попробовать перефразировать ваш вопрос? Непонятно, о чем ты спрашиваешь.
Теги:
forms

2 ответа

0

Не используйте теги имен с параметрами. Используйте его только при выборе. Если я правильно задал вопрос, когда вы повторите выбор, добавьте "выбранный" -tag для выбранного варианта, например: " <option selected value='1'>Choise 1</option> ". Опцию следует выбрать, если, например, значение $ _REQUEST [kontrahenci] -parameter совпадает с значением итерированной строки.

0

Когда вы вернетесь на свою страницу, вы хотите, чтобы ваш выбор сохранял значение, не так ли? То, что вы хотите сделать, - сохранить состояние ваших полей выбора.

Эти три способа добиться этого приходят мне на ум:

  1. получить значение для выбора блоков, сериализовать его и сохранить в cookie

    хорошее решение здесь

  2. получить значение и сохранить состояние через Ajax на ваш сервер

  3. получить значение и сохранить состояние через запрос Get на ваш сервер

,

$(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 или сохраненные данные сеанса для повторного создания соответствующего дисплея.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню