Ergebnis 1 bis 4 von 4
  1. #1
    dhouzer ist offline Grünschnabel
    registriert
    02-08-2016
    Beiträge
    2

    Variable Array - Werte mit Leerzeichen oder Sonderzeichen

    Hallo liebes Forum.

    Bin neu hier im Forum und was JS angeht ein absoluter Neewbie.

    Auf einer Webseite existiert ein Dropdownmenü mit Ländern.
    Wählt man ein Land aus wird eine Weltkarte mit dem jeweiligen eingefärbten Land angezeigt.
    Funktioniert auch soweit, allerdings nur bei Ländern die kein Leerzeichen oder Sonderzeichen aufweisen.
    Sprich "Deutschland", "Belgien" oder "Spanien" machen keine Probleme.
    Allerdings klappt das bei Ländern wie "Bosnien & Herzegowina" oder "Hong Kong" nicht.

    Der Code sieht folgendermaßen aus:
    Code:
       $('.form-control-select-country').change(function (event) {
            var counts = 79;
            var target = $(this).val();
            // var target = $(this).attr('data-target');
            var contact = ["contact", "Albania", "Algeria", "Angola", "Argentina", "Australia", "Austria", "Bahrain", "Belgium", "Bosnia", "Brazil", "Bulgaria", "Chile", "China", "Croatia", "Cyprus", "Czech", "Denmark", "Egypt", "Equador", "Estonia", "Finland", "France", "Georgia", "Germany", "Ghana", "Great Britain", "Greece", "Hong Kong", "Hungary", "India", "Indonesia", "Iran", "Ireland", "Israel", "Italy", "Japan", "Kenya", "Korea", "Kosovo", "Kuwait", "Latvia", "Libya", "Lithuania", "Macedonia", "Malaysia", "Moldova", "Morocco", "Netherlands", "New Zealand", "Nigeria", "Northern Ireland", "Norway", "Oman", "Panama", "Peru", "Philippines", "Poland", "Qatar", "Romania", "Russia", "Saudi-Arabia", "Singapore", "Slovakia", "Slovenia", "South Africa", "Spain", "Sweden", "Switzerland", "Taiwan", "Tanzania", "Thailand", "Tunisia", "Turkey", "Ukraine", "United Arab Emirates", "Venezuela", "Vietnam"];
           
            for (var i = 0; i < counts; i++) {
              $('#' + contact[i]).hide();
              $('#' + contact[i] + '-image').hide();
            }
          
            $('#' + target).show(target);
            $('#' + target + '-image').show();
          
        });
    Ist ein wenig wirr programmiert, da hier erst alles ausgeblendet wird und danach dann das neue Land angezeigt wird. Ansonsten hätte der halt im DIV die Länder immer noch zusätzlich angezeigt.

    Vielleicht gibt es ja eine ganz einfach Lösung oder ich muss hier ganz anders vorgehen.
    Bin über jeden Hinweis oder Link dazu dankbar.
    Ansonsten wünsche ich Euch erstmal einen schönen Tag.

  2. #2
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.583

    AW: Variable Array - Werte mit Leerzeichen oder Sonderzeichen

    willkommen bei uns!

    wie sieht denn der code aus der das select baut?
    und ganz wichtig: in welchem charset ist das js gespeichert und der code der die länder-id's enthält?
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  3. #3
    dhouzer ist offline Grünschnabel
    registriert
    02-08-2016
    Beiträge
    2

    AW: Variable Array - Werte mit Leerzeichen oder Sonderzeichen

    charset="utf-8"

    Code:
    <div class="form-group ">
      <label for="country" class="col-sm-2 control-label">Country:</label>
      <div class="col-sm-6">
        <select id="country" class="form-control-select-country" name="form[country]">
          <option value="contact">Please select your country ...</option>
          <option value="contact" data-target="contact" >- My region is not listed -</option>
          <option value="Albania" data-target="Albania" >Albania</option>
          <option value="Bosnia" data-target="Bosnia" >Bosnia & Herzegovina</option>
          <option value="Brazil" data-target="Brazil" >Brazil</option>
          <option value="Bulgaria" data-target="Bulgaria" >Bulgaria</option>
          <option value="Great Britain" data-target="Great Britain" >Great Britain</option>
          <option value="Greece" data-target="Greece" >Greece</option>
          ...
          ...
        </select>
      </div>
    </div>
    Ich hoffe das sind die Infos die gemeint waren.

  4. #4
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.627

    AW: Variable Array - Werte mit Leerzeichen oder Sonderzeichen

    Eigentlich dürfen IDs keine Leerzeichen enthalten (auch wenn z.B. der FF das akzeptiert und man mit document.getElementById() auch darauf zugreifen kann - darauf verlassen würde ich mich nicht). Und in einem Selektor hat ein Leerzeichen natürlich eine besondere Funktion, die dir in deinem Fall das Problem macht.

    Wenn du unbedingt das Leerzeichen im value und der ID brauchst, darfst du nicht mit jQuery arbeiten um die Node zu bekommen, sondern musst document.getElementById() verwenden. Aber ich würde empfehlen, dass du die Leerzeichen im value und der ID (nicht im angezeigten Text) durch etwas ersetzt (z.B. ein "-").

Ähnliche Themen

  1. [PHP] Sonderzeichen und Codes in eine $Variable?
    Von LikeStar im Forum Serverseitige Programmierung
    Antworten: 11
    Letzter Beitrag: 17-02-2015, 17:49
  2. array werte addieren
    Von Troy im Forum JavaScript
    Antworten: 12
    Letzter Beitrag: 03-11-2010, 23:50
  3. Werte von array überprüfen
    Von kathale im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 28-07-2007, 09:35
  4. Antworten: 5
    Letzter Beitrag: 18-03-2007, 18:14
  5. array werte übergabe
    Von womstar im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 20-11-2002, 22:13

Stichworte

Lesezeichen

Berechtigungen

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