Edycja dwóch selectów

0

Witam
Mam dwa selecty jak niżej, w których najpierw odczytuję aktualny status z bazy, a potem go edytuję. Ale problem polega na tym, że każdorazowo muszę edytować oba i łatwo się jest w tym pomylić. Może znacie jakieś rozwiązanie, które by to upraszczało i uniemożliwiało zmianę już ostatecznego statusu?

<tr>
<td>Aktualny status dostawy:</td>
<td> '.$r['dostarczono'].' </td>
</tr>
<tr>
<td>Dostarczono? </td>
<td><select name="dostarczono">
<option value="Określ!" selected> -- wybierz z listy -- </option>
<option value="Tak">Tak</option>
<option value="Nie">Nie</option>
<option value="Brak inf.">Brak informacji</option>
</select></td>
</tr>

<tr>
<td>MM status:</td>
<td>'.$r['mm'].'</td>
</tr>
<tr>
<td>Zmień status MM: </td>
<td><select name="mm">
<option value="Nie wybrano!" selected> -- wybierz z listy -- </option>
<option value="Ok">Zrobione</option>
<option value="Do zrobienia">Do zrobienia</option>
<option value="Inne">Nie dotyczy (Inne)</option>
</select></td>
</tr>
1

ale łatwo jest się w czym pomylić?

0

Jeżeli edytuję ten sam rekord wielokrotnie, to za każdym razem muszę wybrać odpowiednią opcję w obu selectach, bo jak o tym zapomnę to nadpisuję sobie ten aktualny status i go tracę.

0

a nie możesz dać po prostu <option selected="selected"> przy aktualnie wybranej opcji? Wtedy nawet wysłanie requestu z zapisem nic Ci nie zmieni.

0

To nie działa. Pozostawienie domyślnej opcji pustej nadpisuje poprzednie statusy pustym wpisem...

<option selected="selected"></option>
0

Nie do końca rozumiem czemu chcesz zostawiać zaznaczoną opcję domyślną zamiast zaznaczyć tą wybraną wcześniej przez usera?
Zawsze możesz na zmianę wartości w selekcie wysyłać ajaxa z żądaniem zmiany danej wartości.

0

Przyznaję, że nie wiem jak to zrobić... Mógłbyś podpowiedzieć?

0
$options = array( 'one', 'two', 'three' );

$output = '';
for( $i=0; $i<count($options); $i++ ) {
  $output .= '<option ' 
             . ( $_GET['sel'] == $options[$i] ? 'selected="selected"' : '' ) . '>' 
             . $options[$i] 
             . '</option>';
}

Dostosuj sobie to do swoich potrzeb. Swoją drogą (bez żadnych uszczypliwości) dobry programista dobrze używa google. W tym przypadku kod jest przeklejony z pierwszego linku jaki pojawił się w wynikach wyszukiwania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1