Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]zle wyswietlanie wartosci w radio button
eminiasty
post 6.09.2017, 20:32:13
Post #1





Grupa: Zarejestrowani
Postów: 267
Pomógł: 0
Dołączył: 11.09.2015

Ostrzeżenie: (0%)
-----


  1. $item['visible'] //wynosi 1


Radio button zaznacza opcje NIE, według mnie powinna być zaznaczona opcja TAK, czyli pierwszy przypadek .

  1. <?php if($item['visible'] == 1): ?>
  2. <div class="checkbox">
  3. <label><input name="visible" type="radio" value="<?php echo $item['visible']; ?>" id='Visible' checked>TAK</label>
  4. <label><input name="visible" type="radio" value="0" checked>NIE</label>
  5. </div>
  6. <?php endif; ?>
  7. <?php if ($item['visible'] == 0): ?>
  8. <div class="checkbox">
  9. <label><input name="visible" type="radio" value="1" id='Visible' >TAK</label>
  10. <label><input name="visible" type="radio" value="<?php echo $item['visible']; ?>" checked>NIE</label>
  11. </div>
  12. <?php endif; ?>


Czy da się to jakoś uprościć by nie dublować kodu?
Go to the top of the page
+Quote Post
trueblue
post 6.09.2017, 20:35:48
Post #2





Grupa: Zarejestrowani
Postów: 6 799
Pomógł: 1827
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


W pierwszym przypadku zaznaczasz (checked) obydwa radio buttony.

Użyj if tylko do ustawiania tej właściwości.


--------------------
Go to the top of the page
+Quote Post
eminiasty
post 6.09.2017, 21:00:07
Post #3





Grupa: Zarejestrowani
Postów: 267
Pomógł: 0
Dołączył: 11.09.2015

Ostrzeżenie: (0%)
-----


Cytat
Użyj if tylko do ustawiania tej właściwości.

mogę prosić o przykład

bo o to na pewno nie chodzi:
  1. <div class="checkbox">
  2. <label><input name="visible" type="radio" value="<?php if($item['visible']==1): echo $item['visible']; endif; ?>" id='VisibleModule' checked>TAK</label>
  3. <label><input name="visible" type="radio" value="<?php if($item['visible']==0): echo $item['visible']; endif; ?>" >NIE</label>
  4. </div>
Go to the top of the page
+Quote Post
trueblue
post 6.09.2017, 21:01:53
Post #4





Grupa: Zarejestrowani
Postów: 6 799
Pomógł: 1827
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Na pewno nie, bo napisałem, abyś ustawiał właściwość checked.


--------------------
Go to the top of the page
+Quote Post
b4rt3kk
post 6.09.2017, 22:37:36
Post #5





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


  1. <div class="checkbox">
  2. <label><input name="visible" type="radio" value="1" id='VisibleModule' checked="<?php echo !empty($item['visible']) ? 'checked' : 'false'; ?>">TAK</label>
  3. <label><input name="visible" type="radio" value="0" checked="<?php echo empty($item['visible']) ? 'checked' : 'false'; ?>">NIE</label>
  4. </div>


Ten post edytował b4rt3kk 6.09.2017, 22:38:00


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
trueblue
post 7.09.2017, 07:49:44
Post #6





Grupa: Zarejestrowani
Postów: 6 799
Pomógł: 1827
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Nie ma czegoś takiego jak checked="false", jest to równoważne checked="true", czy po prostu checked. Wyłączony radiobutton, to po prostu brak tego atrybutu.
Jeśli mamy do czynienia z HTML5 to wystarczy zapis <input checked>.


--------------------
Go to the top of the page
+Quote Post
emillo91
post 11.09.2017, 20:29:37
Post #7





Grupa: Zarejestrowani
Postów: 129
Pomógł: 13
Dołączył: 29.03.2012

Ostrzeżenie: (0%)
-----


Możesz to zrobić w ten sposób że jeżrli masz powiedzmy trzy wartości checked do sprawdzenia to musisz trzy razy wyświetlić wartość input type radio. Robisz to następująco. Na początku tworzysz pętlę kręcącą się trzy razy. Warunkiem w tej pętli sprawdzasz czy visible jest równe 1 czy nie. Jeżeli tak to tworzysz zmienną o nazwie $warunek[] = " checked=checked". Jeżeli visiblity nie równa się 1 to zmienna $warunek [] = " ". Bastępnie wyświetlasz to w drugiej pętli z polem input. A to przykład:
  1. pętla foreach (){
  2. if($item['visible'] == 1){
  3. $warunek[] = "checked = checked";
  4. }
  5. else{
  6. $warunek[] = " ";
  7. }
  8. }
  9. foreach($warunek as $opcja){
  10. echo '< input type=" radio" '.$opcja.' />';
  11. }

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.05.2025 - 07:03