Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błędne indeksy w tablicy
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
markuz
Witam,
Problem polega na tym, że przy aktualizacji rekordów w inputSelectedCountries (input type select multiple) zamiast standardowych kluczy pobranych wcześniej ($(this).val()) podmienia je na własne klucze. A konieczne jest aby klucze oraz wartości pozostały niezmienione.

Kod
    addCountries.on("click", function(e) {

        $("#inputAvailableCountries option:selected").each(function () {
            selectedCountriesArray[$(this).val()] = $(this).text(); // POBIERANIE WARTOŚCI, KLUCZ JEST OK
        });

        selectedCountriesArray = $.unique(selectedCountriesArray);
        selectedCountriesArray = $.grep(selectedCountriesArray,function(n){ return(n) });

        inputSelectedCountries.html("");

        $.each( selectedCountriesArray, function(v, t) {
            inputSelectedCountries.append('<option value="' + v + '">' + t + '</option>'); // KLUCZ NIE JEST POBIERANY Z TABLICY TYLKO TWORZONY OD NOWA
        });

    });


buliq
A console.log(selectedCountriesArray) co pokazuje?
jak bez kluczy prawidłowych to wstaw pomiędzy operacjami.

zobacz jeszcze for(v in selectedCountriesArray) {t = selectedCountriesArray[v]; }
markuz
Klucze są dobre zanim je ponownie chce wstawić do selecta tzn.
Kod
        $.each( selectedCountriesArray, function(v, t) {
            inputSelectedCountries.append('<option value="' + v + '">' + t + '</option>');
        });


Z tego co czytałem, each podmienia klucze na własne ( zmienna v ). W jaki sposób mogę to "zastąpić" bez zmiany kluczy?
nospor
Cytat
W jaki sposób mogę to "zastąpić" bez zmiany kluczy?
No przeciez ci podano....FOR - czytaj co dostajesz od ludzi
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.