werteübergabe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    dieser term soll dann dadurch ersetzt werden

    HTML-Code:
                        if(staffList[i]['is_present'] !== "true" ){
                            continue;
                        }

    Kommentar


    • #17
      Ich hab keine Ahnung, was du machen möchtest. Du wirfst immer vereinzelte Codefetzen raus und redest kreuz und quer.

      Mal davon abgesehen, dass du die Frage nicht beantwortet hast, wie deine Lösung ohne JavaScript aussieht.

      Kommentar


      • #18
        hi

        habe keine lösung ohne javascript, da dieses script meine matrix aufbaut

        vom ablauf soll es so sein - ich erstelle aus meiner db tab ein multilistfeld (box)

        die dort selektierten mitarbeiter will ich dann in die schleife einsetzen, die ich bereits habe - bisher holt sich diese schleife, die die matrix erstellt, ihre daten aus der db tab - und zwar alle mitarbeiter die einen wert true besitzen werden eingebunden

        das ist die selctbox
        HTML-Code:
         <?php
        //conection:
        $link = mysqli_connect("localhost","root","","ts") or die("Error " . mysqli_error($link));
        
        //consultation:
        
        $query = "SELECT surname, id_staff FROM staff" or die("Error in the consult.." . mysqli_error($link));
        
        //execute the query.
        
        $result = $link->query($query);
        
        //display information:
        echo "<select multiple>";
        while($row = mysqli_fetch_array($result)) {
          echo "<option>".$row["surname"].$row["id_staff"]."</option>";
         
        } 
        echo "</select>";
        ?>
        und das ist der funktionsaufruf javascript

        HTML-Code:
        for (var i in staffList){
                            if(staffList[i]['is_present'] !== "true" ){
                                continue;
                            }
        					
                            var th_element = document.createElement('th');
                            th_element.class="day";
                            th_element.style="min-width: 50px; max-width: 60px;"
                            th_element.innerHTML=staffList[i]['surname'];
                            th_element.value=Date.parse(date) + '_' + staffList[i]['id_staff'];
        hier möchte ich diesen part ersetzen
        HTML-Code:
        for (var i in staffList){
                            if(staffList[i]['is_present'] !== "true" ){
                                continue;
                            }
        durch die daten, die von der multilistbox kommen - damit ich den folgenden code beibehalten kann

        Kommentar


        • #19
          Zitat von jhaustein Beitrag anzeigen
          habe keine lösung ohne javascript, da dieses script meine matrix aufbaut
          Und was machen dann User ohne JavaScript?

          Zitat von jhaustein Beitrag anzeigen
          vom ablauf soll es so sein - ich erstelle aus meiner db tab ein multilistfeld (box)

          die dort selektierten mitarbeiter will ich dann in die schleife einsetzen, die ich bereits habe - bisher holt sich diese schleife, die die matrix erstellt, ihre daten aus der db tab - und zwar alle mitarbeiter die einen wert true besitzen werden eingebunden

          das ist die selctbox
          HTML-Code:
           <?php
          //conection:
          $link = mysqli_connect("localhost","root","","ts") or die("Error " . mysqli_error($link));
          
          //consultation:
          
          $query = "SELECT surname, id_staff FROM staff" or die("Error in the consult.." . mysqli_error($link));
          
          //execute the query.
          
          $result = $link->query($query);
          
          //display information:
          echo "<select multiple>";
          while($row = mysqli_fetch_array($result)) {
            echo "<option>".$row["surname"].$row["id_staff"]."</option>";
           
          } 
          echo "</select>";
          ?>
          und das ist der funktionsaufruf javascript

          HTML-Code:
          for (var i in staffList){
                              if(staffList[i]['is_present'] !== "true" ){
                                  continue;
                              }
          					
                              var th_element = document.createElement('th');
                              th_element.class="day";
                              th_element.style="min-width: 50px; max-width: 60px;"
                              th_element.innerHTML=staffList[i]['surname'];
                              th_element.value=Date.parse(date) + '_' + staffList[i]['id_staff'];
          Woher kommt die JavaScript-Variable staffList?

          Zitat von jhaustein Beitrag anzeigen
          hier möchte ich diesen part ersetzen
          HTML-Code:
          for (var i in staffList){
                              if(staffList[i]['is_present'] !== "true" ){
                                  continue;
                              }
          durch die daten, die von der multilistbox kommen - damit ich den folgenden code beibehalten kann
          Und warum verwendest du nicht einfach die Daten aus deiner Variable staffList?

          Kommentar


          • #20
            lieben dank für deine antwort -

            das script läuft local - deshalb kann ich auch es mit javascript machen

            stafflist sind doch alle mitarbeiter, deren wert auf true steht - true heisst bei mir, die mitarbeiter sind angestellt - ich möchte aber die matrix so aufstellen können, dass ich von allen mitarbeitern die vorhanden sind - mir ein paar aussuchen kann, die dann angezeigt werden sollen

            Kommentar


            • #21
              ... deshalb bruache ich diese array struktur

              HTML-Code:
              staffList[0] = new Array();
                staffList[0]["surname"] = "Piet"; 
                staffList[0]["id_staff"] = "9"; 
                staffList[0]["is_present"] = "true"; 
              
               
                staffList[1] = new Array();
                staffList[1]["surname"] = "Inga"; 
                staffList[1]["id_staff"] = "10"; 
                staffList[1]["is_present"] = "true";

              Kommentar


              • #22
                Zitat von jhaustein Beitrag anzeigen
                lstafflist sind doch alle mitarbeiter, deren wert auf true steht
                Wozu wird das dann noch zusätzlich mit if() gefprüft, wenn das eh auf alle zutrifft?

                Zitat von jhaustein Beitrag anzeigen
                true heisst bei mir, die mitarbeiter sind angestellt - ich möchte aber die matrix so aufstellen können, dass ich von allen mitarbeitern die vorhanden sind - mir ein paar aussuchen kann, die dann angezeigt werden sollen
                Also ich hätte das so verstanden, dass in staffList sowieso schon alle Mitarbeiter drin stehen. Aber die Frage wo die Variable staffList her kommt, hast du noch immer nicht beantwortet.

                Kommentar


                • #23
                  ich habe auch mitarbeiter drin, die auf false stehen, falls ich mal die daten von denen brauche

                  Kommentar


                  • #24
                    die stafflist möchte ich ja durch die listbox auswahl ersetzen

                    Kommentar


                    • #25
                      Dann verwende wie bereits hier vorgeschlagen Custom Data Attribute.

                      Kommentar


                      • #26
                        kannst du mir das vielleicht erklären,

                        ich habe ja nun zwei probleme -

                        1. das erstellen der multilistbox mit mehreren attributen - dachte so
                        HTML-Code:
                        <?php
                        //conection:
                        $link = mysqli_connect("localhost","root","","ts") or die("Error " . mysqli_error($link));
                        
                        //consultation:
                        
                        $query = "SELECT surname, id_staff FROM staff" or die("Error in the consult.." . mysqli_error($link));
                        
                        //execute the query.
                        
                        $result = $link->query($query);
                        
                        //display information:
                        echo "<select>";
                        while($row = mysqli_fetch_array($result)) {
                          echo "<option>".$row["surname"]."</option>";
                        } 
                        echo "</select>";
                        ?>
                        und nun das hauptprob
                        2. die übergabe zum javascript

                        Kommentar


                        • #27
                          Verarbeitung:
                          PHP-Code:
                          $db mysqli_connect('localhost''root''''ts') or die(mysqli_error($db));

                          $sql 'SELECT surname, id_staff FROM staff';
                          $staff_result mysqli_query($db$sql); 
                          Ausgabe:
                          PHP-Code:
                          <select name="staff" multiple="multiple">
                              <?php while ($row mysqli_fetch_assoc($staff_result)): ?>
                              <option value="<?php echo htmlspecialchars($row['id_staff'], ENT_COMPAT'UTF-8'); ?>">
                                  <?php echo htmlspecialchars($row['surname'], ENT_COMPAT'UTF-8'); ?>
                              </option>
                              <?php endwhile; ?>
                          </select>
                          Zuletzt geändert von h3ll; 29.12.2014, 17:07.

                          Kommentar


                          • #28
                            klasse - bloss wie erstelle ich das array nach der auswahl in diese form für mein js

                            HTML-Code:
                              staffList[0] = new Array();
                              staffList[0]["surname"] = "Piet"; 
                              staffList[0]["id_staff"] = "9"; 
                              staffList[0]["is_present"] = "true"; 
                            
                             
                              staffList[1] = new Array();
                              staffList[1]["surname"] = "Inga"; 
                              staffList[1]["id_staff"] = "10"; 
                              staffList[1]["is_present"] = "true";

                            Kommentar


                            • #29
                              Code:
                              var staffList = $('select[name="staff"] > option').map(function () {
                                  var $option = $(this);
                                  return {
                                      surname: $.trim($option.text()),
                                      id_staff: $option.val()
                                  };
                              }).get();

                              Kommentar


                              • #30
                                lieben dank für deine mühe - habe es nun so eingebaut, wie du beschrieben hast

                                leider bekomme ich keine werte übergeben, die selektiert wurde
                                HTML-Code:
                                                var staffList = new Array();
                                                staffList = getStaffList();
                                var staffList = $('select[name="staff"] > option').map(function () {
                                    var $option = $(this);
                                    return {
                                        surname: $.trim($option.text()),
                                        id_staff: $option.val()
                                    };
                                }).get();
                                
                                               for (var i in staffList){
                                
                                					
                                                    var th_element = document.createElement('th');
                                                    th_element.class="day";
                                                    th_element.style="min-width: 50px; max-width: 60px;"
                                                    th_element.innerHTML=staffList[i]['surname'];
                                                    th_element.value=Date.parse(date) + '_' + staffList[i]['id_staff'];
                                kann man in js per buttonklick eine function dierkt ansprechen zum ausführen

                                im mom kann ich die listwerte markieren - und nun möchte ich die funktion ansprechen, die ausgeführt werden soll

                                Kommentar

                                Lädt...
                                X