Sterne rating falsch herum

  • Ich habe einige radiobutton die zur Bewertung gedacht sind, das funktioniert auch prima. Da die button nicht sonderlich schön sind, habe ich sie durch sterne ersetzt.
    Dazu diese CSS

    Das Problem ist, dass die Sterne von Rechts nach Links einblenden:

    Kann mir jemand von euch sagen, wie ich es schaffe, dass sie von Links nach Rechts eingeblendet werden?

  • Postest Du bitte auch das HTML dazu?

    Na klar:

    • Offizieller Beitrag

    Für mich sieht Dein HTML auf den ersten Blick schon mal invalide aus.

    HTML
    <label class=star-1 for="star-1"></label>

    dürfte zwar nicht zu einem Fehler führen, aber zumindest dafür sorgen, dass die Interpretation Browser abhängig ist.

    Zudem - aber das müsste ich selber nochmal nachlesen - kannst Du meines Wissen nach nicht für mehrere Elemente denselben Namen verwenden. Oder zumindest macht das keinen Sinn.

  • Habe mal versucht Dein Formular zu vereinfachen.

    Und zu Deinem Problem. Du hast direction:rtl vergessen zu notieren.

    Code
    .rating {
         unicode-bidi: bidi-override;
         direction:rtl; /* Diese Angabe fehl bei Dir ! */
         text-align: center;
     }

    2 Mal editiert, zuletzt von djheke (6. Februar 2018 um 16:19) aus folgendem Grund: Erweitert


  • Und zu Deinem Problem. Du hast direction:rtl vergessen zu notieren.

    Vielen Dank schonmal dafür, das Problem daran ist allerdings, dass er mir die Sortierung der Werte damit zerstört. Optisch 5 Sterne würden der value=1 entsprechen, während 1 Stern der value=5 entsprechen würde.

  • Hier habe ich mal das Formular weiter gekürzt. Kannst ja mal probieren, ob es in puncto CSS funktioniert.

    Und, reicht es nich aus die Radio-Buttons auszuwerten?

  • Das Problem ist immer noch das direction: rtl

    Ich habe dein Beispiel mal mit values versehen die ich brauche:

    HTML
    <fieldset>
     <legend>Price:</legend>
      <input type="radio" name="price" id="price_star_1" value="1"><label for="price_star_1"></label>
      <input type="radio" name="price" id="price_star_2" value="2"><label for="price_star_2"></label>
      <input type="radio" name="price" id="price_star_3" value="3"><label for="price_star_3"></label>
      <input type="radio" name="price" id="price_star_4" value="4"><label for="price_star_4"></label>
      <input type="radio" name="price" id="price_star_5" value="5"><label for="price_star_5"></label>
    </fieldset>


    Wenn ich jetzt bei Price 5 Sterne absende (GET) bekomme das:

    Code
    ?price=1

    Die Frage ist also, wie bekomme ich es hin die Sterne direction zu verändern, ohne die radiobutton direction zu ändern.

  • Das sollte klappen

    Valuewerte im Label zur Orientiereung eingetragen und keine Hover-Funktionalität.

    Einmal editiert, zuletzt von djheke (7. Februar 2018 um 16:30)

  • Das sollte klappen

    Code
    ...

    Valuewerte im Label zur Orientiereung eingetragen und keine Hover-Funktionalität.

    Ja so geht es tatsächlich, damit kann ich auf jeden Fall schonmal arbeiten, vielen vielen Dank!
    Das Hauptproblem wäre damit beseitigt, jedoch sind jetzt standardmäßig alle Sterne (optisch) gesetzt, bis das ein Stern geklickt wird. Dafür finde ich gerade keine Lösung per CSS (per PHP würde ich nur ungerne am Design arbeiten).

    Hier mal das derzeitige Beispiel:

  • Upps! Hatte ich garnicht bemerkt, dass es so auch nicht funktioniert. Mir fällt jetzt nur noch ein die Reihenfolge im Marup zu ändern.

    Einmal editiert, zuletzt von djheke (8. Februar 2018 um 04:08)

  • Ich habe eine Lösung gefunden, dank euch! Ich habe noch ein hidden input inzugefügt der bei default checked ist:

    Übertragen in PHP sieht das Ganze vor dem Aufräumen des Codes derzeit so aus:


    Nochmal vielen Dank djheke und Arne Drews für eure Hilfe :)