Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Vorschläge gesucht

  1. #1
    pc
    Gast

    Standard Vorschläge gesucht

    Hallo,

    ich suche nach einem Lösungsvorschlag für folgendes Problem:
    Ich habe eine sehr lange Liste mit Einträgen, die aus der Datenbank geholt werden. Nun soll der Nutzer aus dieser Liste ein oder mehrere Einträge auswählen können. Dabei möchte ich es dem Nutzer ggf. zusätzlich ermöglichen, über eine Schaltfläche(?) alle/keinen Einträg auszuwählen.
    Soweit, so gut. Meine erste Idee war ein Select-Feld das Mehrfachauswahl erlaubt. Aber auf den zweiten Blick ist das doch eher ungünstig, da der Nutzer wissen muß, daß er die Shift-Taste drücken muß um nicht alle selektierten Einträge zu verlieren
    Meine zweite Idee waren zwei Felder: links eins mit allen noch möglichen Einträgen und rechts eins mit allen gewählten Einträgen (wie z.B. in vielen Mailprogrammen bei Auswahl der Empfängeradressen). Hierbei weiß ich allerdings nicht, ob das ganze über JavaScript zu realisieren ist und wenn ja, ob ich über PHP an alle Einträge der rechten Box rankomme (diese sind ja nicht zwingend selektiert)?

    Kann mir da jemand helfen oder hat gar eine ganz andere Lösungsidee?

    Vielen Dank,
    Petra
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    König(in)
    Registriert seit
    05.04.2004
    Ort
    Salzgitter
    Beiträge
    1.454
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hallo Petra,

    hört sich etwas komplexer an, Dein Problem, generell kann ich Dir aber sicherlich helfen. Jedoch ist mit der sachliche Zusammenhang nicht nicht 100%ig deutlich.

    Wie ist das mit den zwei Checkboxen gemeint, eine rechts und eine links. Welche Box hat welche Funktion?

    Grundlegend läßt sich aber dazu sagen, dass es sich in Javascript sicher lösen läßt, es ist nur nicht ganz trivial. Über PHP diese Boxen abfragen, kein Problem.

    Ich würde mich über eine etwas detailliertere Beschreibung freuen, da ich Dir so nicht weiter helfen kann.
    Beatz
    my $favorite_homepage = array(
    "Multigaming Playhouse" => "http://www.playhouse-multigaming.de"
    );
    my $homepage = array(http://www.mohaa-wiki.de, http://www.berufe-portal.de, http://www.mywibb.de);

  3. #3
    pc
    Gast

    Standard Etwas verständlicher...

    Ok, ich werde mal versuchen die ganze Sache etwas deutlicher darzustellen.

    Mal nebenbei: Das ganze System sieht man häufiger mal ... z.B. bei Outlook Express wenn man aus dem Adressbuch mehrere Empfänger aussucht.

    Ich habe eine große Anzahl an Wahlmöglichkeiten für den Nutzer. Da habe ich mir gedacht, daß ich diese in einem mehrzeiligen Select-Feld anzeigen könnte (das linke!). Hier kann sich der Nutzer eine oder mehrere Einträge auswählen. Ist er fertig mit der Auswahl klickt er auf nen Button (in den ganzen Mailprogrammen sind das immer Buttons mit nem Pfeil drauf). Wurde der Button (nach rechts) gedrückt, gehen die gewählten Einträge in das rechte Select-Feld, in dem alle gewählten Einträge drin stehen. Die Einträge die gewählt sind (d.h. im rechten Selec-Feld stehen), sind im linken Select-Feld nicht mehr vorhanden (sonst wird es noch schwerer, wenn man jedesmal vergleichen muß, ob ein gewisser Eintrag bereits gewählt wurde oder nicht)
    Will der Nutzer nun einen Eintrag deselektieren (d.h. vom rechten in das linke Feld bekommen), muß er diesen wiederum anklicken und auf einen Button mit einem Pfeil in die andere Richtung klicken.

    Im Endeffekt befinden sich im rechten Feld alle gewählten Einträge und im linken Feld die nicht gewählten Einträge.
    Code:
     
    ------------------------                  ---------------------------
    I  nicht gewählte      I      -->         I  gewählte Einträge      I
    I  Einträge            I      <--         I                         I
    ------------------------                  ---------------------------
    Ja, das war's erstmal, ich hoffe das war etwas verständlicher.
    Bist du dir sicher, daß man sich mit PHP alle Einträge eines Select-Feldes holen kann, obwohl sie nicht selected sind? Normalerweise hat man doch nach dem submit nur Zugriff auf die Einträge die selected sind, oder nicht?


    Vielen Dank,
    Petra

  4. #4
    König(in)
    Registriert seit
    05.04.2004
    Ort
    Salzgitter
    Beiträge
    1.454
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hallo Petra,

    vielen Dank, das nenne ich mal eine Klasse Beschreibung eines Problems. Aus dem Kopf kenne ich keine Lösung dafür, werde aber gerne mal etwas rumprobieren.

    So ist es natürlich nicht möglich, nicht selektierte Einträke mittels PHP auszulesen, aber wenn Du beide Felder in Summer betrachtest, hast Du ja alle, bzw sogar schon, wenn Du diese dynamisch aufbaust. Es geht doch sicherlich auch nur um die selektierten Einträge?

    Werde mich demnächst mal melden ... Mich interessiert das ganze auch.
    Beatz
    my $favorite_homepage = array(
    "Multigaming Playhouse" => "http://www.playhouse-multigaming.de"
    );
    my $homepage = array(http://www.mohaa-wiki.de, http://www.berufe-portal.de, http://www.mywibb.de);

  5. #5
    König(in)
    Registriert seit
    05.04.2004
    Ort
    Salzgitter
    Beiträge
    1.454
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hallo Petra,

    ging doch wesentlich schneller, als ich dachte. Ich habe einfach mal die Schalter weggelassen, Du brauchst nur auf einen Eintrag klicken. Gerne baue ich das aber noch um. Nur ich finde es so bequemer.
    Code:
    <html>
    <head>
      <title>Seitentitel</title>
    <script type="text/javascript">
    <!--
    // Erstellt von Ralf Pfeifer &#40;pfeifer@arstechnica.de, http&#58;//www.arstechnica.de&#41;
    function WertUebertragen&#40;Quelle, Ziel, Entfernen&#41;
      &#123;
      var WertVorhanden = false
      var ZielVorhanden = &#40;typeof Ziel != "undefined"&#41; && &#40;Ziel != null&#41;
      if &#40;!ZielVorhanden&#41;
        &#123;
        Entfernen = true
        &#125;
      for &#40;var Nr = 0; Nr < Quelle.length; Nr++&#41;
        &#123;
        var QuellOption = Quelle.options&#91;Nr&#93;
        if &#40;QuellOption.selected&#41;
          &#123;
          if&#40;ZielVorhanden&#41;
            &#123;
            for &#40;var Pos = 0; Pos < Ziel.length;&#41;
              &#123;
              WertVorhanden = &#40;Ziel.options&#91;Pos++&#93;.text == QuellOption.text&#41;
              if &#40;WertVorhanden&#41;
                &#123; break &#125;
              &#125;
            if &#40;!WertVorhanden&#41;
              &#123;
              Ziel.options&#91;Ziel.length&#93; = new Option&#40;QuellOption.text, QuellOption.value&#41;
              &#125;
            &#125;
            if &#40;Entfernen&#41;
              &#123;
              Quelle.options&#91;Nr&#93; = null
              &#125;
          &#125;
        &#125;
      &#125;
    
    function AlleWerteLoeschen&#40;Ziel&#41;
      &#123;
      for &#40;var Nr = Ziel.length; Nr > 0;&#41;
      Ziel.options&#91;--Nr&#93; = null
      &#125;
    
    function Auslesen&#40;ListenFeld&#41;
      &#123;
      var AusgabeText = ""
      for &#40;var Nr = 0; Nr < ListenFeld.length;&#41;
        AusgabeText += ListenFeld.options&#91;Nr++&#93;.text + "\n"
      alert &#40;AusgabeText&#41;
      &#125;
    
    //-->
    </script>
    </head>
    <body>
    <form action="#" method="POST">
    <select name="sel1" size="6" style="width&#58;200px;" onclick="WertUebertragen&#40;this, this.form.sel2, true&#41;">
      <option value="1">Nr. 1</option>
      <option value="2">Nr. 2</option>
      <option value="3">Nr. 3</option>
      <option value="4">Nr. 4</option>
    </select>
    <select name="sel2" size="6" style="width&#58;200px;" onclick="WertUebertragen&#40;this, this.form.sel1, true&#41;">
    </select>
    </form>
    </body>
    </html>
    sel1 und sel2 kannst Du natürlich entsprechend umbenennen.
    Beatz
    my $favorite_homepage = array(
    "Multigaming Playhouse" => "http://www.playhouse-multigaming.de"
    );
    my $homepage = array(http://www.mohaa-wiki.de, http://www.berufe-portal.de, http://www.mywibb.de);

  6. #6
    Meister(in)
    Registriert seit
    30.05.2004
    Ort
    Wien
    Beiträge
    346
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hab mal sowas ähnliches gemacht:
    Multible SELECT

  7. #7
    pc
    Gast

    Standard Toll

    Hallo Beatz,

    das ist ja echt cool Vielen Dank!!!
    Es wäre für meinen Fall besser, wenn ich mehrere Einträge mit einem mal rüberkriege, weil in der Liste bis zu 300 Einträge stehen können. Das kann man ja keinem Nutzer zutrauen.
    Und unverschämterweise muß ich gleich mal fragen, ob man die alphabetische Reihenfolge beibehalten kann?

    Die Sache mit dem Auslesen in PHP ist natürlich immernoch da. Mich interessieren in der Tat nur die selektierten Einträge. Mir schwebt jetzt irgendwas in der Form vor, das man nach dem submit über JavaScript einfach alle Einträge des rechten Felds als selected markiert und schon müßte es gehen!?!

    Nochmal danke,
    Petra

  8. #8
    König(in)
    Registriert seit
    05.04.2004
    Ort
    Salzgitter
    Beiträge
    1.454
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hallo Petra,

    Cyberlord hat ja bereits ein ähnliches Skript gepostet, hätte ich das eher gewußt , womit das geht. Die Liste alphabetisch zu ordnen sollte im Grunde genommen auch gehen. Ich werd mal schauen, ob sich da was machen läßt, kann aber nicht versprechen, ob ich das hinbekomme.

    Der Rest mit PHP, zumindest das auslesen ist recht einfach. Wenn Du dann Fragen hast, helfe ich auch gerne weiter!
    Beatz
    my $favorite_homepage = array(
    "Multigaming Playhouse" => "http://www.playhouse-multigaming.de"
    );
    my $homepage = array(http://www.mohaa-wiki.de, http://www.berufe-portal.de, http://www.mywibb.de);

  9. #9
    Meister(in)
    Registriert seit
    30.05.2004
    Ort
    Wien
    Beiträge
    346
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Führe einfach eine Schleife aus bei <form onsubmit=".." die alle Einträge vom rechten Menü auf selected setzt und dann submitted wird.

    Probiers mal.
    Wenn du es nicht schaffst helfe ich dir gerne.

  10. #10
    pc
    Gast

    Standard fast...

    Hallo,

    ich habe jetzt eine Version zusammengekriegt die die Einträge alphabetisch sortiert beibehält. Nur funktioniert das ganze leider nicht mit PHP Da ich die Felder aus dem rechten Select-Feld noch mit PHP auslesen will, muß ich dieses als Array definieren. Nur leider funktionieren dann die JavaScript-Sachen nicht mehr.
    Code:
    <select name=select2&#91;&#93; size=10 multiple>
    Kann mir jemand sagen, wie ich mit JavaScript auf Select-Felder als Arrays zugreife?

    Danke für eure Mühe!!!!!!
    Petra



    Der Quellcode für die dies interessiert:
    Code:
    <html>
    <head>
    <title>Multiple SELECT-List</title>
    </head>
    <body>
    <script language= "JavaScript">
    function markAll&#40;&#41; &#123;
       var m1 = document.testform.select1;
       var m2 = document.testform.select2;
    
       m2len = m2.length;
       for &#40;i = 0; i < m2len; i++&#41;
          m2.options&#91;i&#93;.selected = true;
    &#125;
    
    function einszuzwei&#40;&#41; &#123;
       var m1 = document.testform.select1;
       var m2 = document.testform.select2;
    
       m1len = m1.length;
       for &#40;i = 0; i < m1len; i++&#41; &#123;
          if &#40;m1.options&#91;i&#93;.selected == true&#41; &#123;
             m2len = m2.length;
             if &#40;m2len == 0&#41;
                m2.options&#91;0&#93; = new Option&#40;m1.options&#91;i&#93;.text&#41;;
             else &#123;
                for &#40;y = 0; y < m2len; y++&#41; &#123;
                   if &#40;m2.options&#91;y&#93;.text > m1.options&#91;i&#93;.text&#41; &#123;
                      // ordne Optionsfelder um
                      m2.options&#91;m2len&#93; = new Option&#40;m2.options&#91;m2len-1&#93;.text&#41;;
                      for &#40;z = &#40;m2len-1&#41;; z > y; z--&#41; &#123;
                         m2.options&#91;z&#93;.text = m2.options&#91;z-1&#93;.text;
                      &#125;
                      m2.options&#91;y&#93;.text = m1.options&#91;i&#93;.text;
                      break;
                   &#125;
                &#125;
                if &#40;m2len == m2.length&#41; //der Eintrag gehört ans Ende der Liste
                   m2.options&#91;m2len&#93; = new Option&#40;m1.options&#91;i&#93;.text&#41;;
             &#125;
          &#125;
       &#125;
       for &#40;i = &#40;m1len-1&#41;; i >= 0; i--&#41; &#123;
          if &#40;m1.options&#91;i&#93;.selected == true&#41; &#123;
             m1.options&#91;i&#93; = null;
          &#125;
       &#125;
    &#125;
    
    function zweizueins&#40;&#41; &#123;
       var m1 = document.testform.select1;
       var m2 = document.testform.select2;
    
       m2len = m2.length ;
       for &#40;i = 0; i < m2len; i++&#41; &#123;
          if &#40;m2.options&#91;i&#93;.selected == true&#41; &#123;
             m1len = m1.length;
             if &#40;m1len == 0&#41;
                m1.options&#91;0&#93; = new Option&#40;m2.options&#91;i&#93;.text&#41;;
             else &#123;
                for &#40;y = 0; y < m1len; y++&#41; &#123;
                   if &#40;m1.options&#91;y&#93;.text > m2.options&#91;i&#93;.text&#41; &#123;
                      // ordne Optionsfelder um
                      m1.options&#91;m1len&#93; = new Option&#40;m1.options&#91;m1len-1&#93;.text&#41;;
                      for &#40;z = &#40;m1len-1&#41;; z > y; z--&#41; &#123;
                         m1.options&#91;z&#93;.text = m1.options&#91;z-1&#93;.text;
                      &#125;
                      m1.options&#91;y&#93;.text = m2.options&#91;i&#93;.text;
                      break;
                   &#125;
                &#125;
                if &#40;m1len == m1.length&#41; //der Eintrag gehört ans Ende der Liste
                   m1.options&#91;m1len&#93; = new Option&#40;m2.options&#91;i&#93;.text&#41;;
             &#125;
          &#125;
       &#125;
       for &#40;i = &#40;m2len-1&#41;; i >= 0; i--&#41; &#123;
          if &#40;m2.options&#91;i&#93;.selected == true&#41; &#123;
             m2.options&#91;i&#93; = null;
          &#125;
       &#125;
    &#125;
    </script>
    <form  method="get" name="testform" action='myscript.php'>
    <table align=center >
       <tr><td align=center>
        <select name=select1 size=10 multiple>
    
        </select>
    
        <p align=center><input type="button" onClick="einszuzwei&#40;&#41;" value="auswählen"></p>
        </td><td align=center>
        <select name=select2 size=10 multiple>
           <option value="1">Alpha</option>
           <option value="2">Alphabet</option>
           <option value="3">Ampulle</option>
           <option value="4">Chameleon</option>
           <option value="5">Sport</option>
           <option value="6">Tuch</option>
           <option value="7">Zapfenstreich</option>
        </select>
    
        <p align=center><input type="button" onClick="zweizueins&#40;&#41;" value="abwählen" ></p>
       </td><td><input type="submit" name="OK" onClick='return markAll&#40;&#41;'></td></tr>
       <tr><td>   
          <?php
          for &#40;$i = 0; $i < count&#40;$select2&#41;; $i++&#41;
             echo "Feld $i&#58; $select2&#91;$i&#93;
    ";
          ?>
       </td></tr>
    </table>
    <p align=center>Mit STRG meherere Felder auswählen.</p>
    </form>
    </body>
    </html>

Ähnliche Themen

  1. Vorschläge und Tipps für meine Homepage gesucht
    Von Bianca77 im Forum Eure Homepages und Foren - Vorstellung und Bewertungen
    Antworten: 15
    Letzter Beitrag: 22.02.2008, 17:13
  2. Vorschläge für ein Logo für ein Vip-Magazin gesucht
    Von Bianca77 im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 18
    Letzter Beitrag: 19.02.2008, 10:04
  3. suche Vorschläge
    Von Starfighter im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 26.01.2007, 12:00
  4. s1C | Bewerten und Vorschläge
    Von tepsch im Forum Eure Homepages und Foren - Vorstellung und Bewertungen
    Antworten: 4
    Letzter Beitrag: 20.10.2005, 00:10
  5. vorschläge!
    Von davidos_no.1 im Forum HTML & CSS Forum
    Antworten: 16
    Letzter Beitrag: 01.06.2005, 16:19

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •