Announcement

Collapse
No announcement yet.

[JS] Inhalt von SelectBoxen auslesen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • [JS] Inhalt von SelectBoxen auslesen

    Moin moin,

    ich habe auf eine verschiedene Anzahl von Selectboxen, dessen ID's alle mit "sel" beginnen. Diese möchte ich jetzt jeweils alle ablaufen und die ID so wie den jeweiligen Inhalt (.options.text) der Selectboxen speichern.

    Bisher habe ich folgendes Script, welches mir zumindest schon mal die ID's in ein Dictionary packt:
    Code:
    <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
        <script type="text/javascript">
          $(document).ready(function() {
            $("#button").click(function() {
              var fields = {};
              $("select[id^='sel']").each(function() {
                var $select = $(this);
                fields[this.id] = " ";
              });
              console.log(fields);
            });
          });
        </script>
    Jetzt bekomme ich es einfach nicht hin, an der Stelle, in der halt der leere String " " abgespeichert wird, den Inhalt der SelectBoxes zu speichern. Weiß da jemand weiter?

    Lieben Gruß

    EDIT

    Mittlerweile habe ich die Lösung:

    Code:
        <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
        <script>
          $(document).ready(function() {
            $("#button").click(function() {
              var fields = {};
              $("select").each(function() {
                var $select = $(this);
                fields[$select.attr('name')] = $select.find('option').map(function() {
                  return $(this).val();
                }).get();
              });
              console.log(fields);
            });
          });
        </script>
    SelectBox-ID musste hier mit zu einen Namen abgeändert werden

    Lieben Gruß
    Zuletzt editiert von kogen; 13.10.2015, 12:43.

  • #2
    Du kannst der uebergebenen Funktion von each() auch Parameter mit uebergeben, dann kommst Du direkt an die Elemente ran:

    Code:
    $("select[id^='sel']").each(function(index, element) {
      fields[element.attr('name')] = element.find("option:selected").text();
    }
    Sowas sollte auch funktionieren

    Comment

    Working...
    X