Funkcja, która porównuje dwa elementy HTML

0

Cześć, jestem tu nowy :) Zarejestrowałem się przed chwilą, choć forum znam i przeglądam od kilku miesięcy.

Mam taką zagwozdkę, a mianowicie chciałbym, by mając np. 10 checkboxów oraz drop-down menu(select), zawierające tą samą zawartość, po kliknięciu na dany checkbox zmieniła się kolejność w <select> - zaznaczony checkbox był na górze listy. Wiem, że przy zaznaczeniu większej ilości checkboxów może to być kłopotliwe, ale muszę to zrobić w ten sposób, np. gdy zaznaczone jest wiecej niz 1, to ten ostatni element ktory zaznaczyłem będzie na górze listy. Na początku myślałem, żeby właśnie porównać dwa elementy w instrukcji 'if', natomiast coś mi nie wyszło. Chciałbym, by to było napisane w czystym js. Proszę o pomoc.

3

Mam pomysł - zrób na razie szkielet tego, nad czym chcesz pracować, czyli HTML'a z checkboxami i listą rozwijalną. Umieść to na http://jsfiddle i podaj nam link do swojej wrzutki. Wtedy po pierwsze będziemy dokładniej wiedzieć, o co Ci chodzi, a po drugie - będziemy mogli zacząć myśleć nad jakimś oskryptowaniem tego. Bo na razie pytasz o sposób rozwiązania problemu, ale jeszcze tego problemu konkretnie nie pokazałeś.

Na chwilę obecną mogę udzielić odpowiedzi równie konkretnej, co Twoje pytanie: żeby to uzyskać, trzeba napisać skrypt, który będzie reagować na kliknięcia i odpowiednio zaznaczy pozycję w menu :P

2

W ogólności sugeruję użyć JS do manipulacji order elementów:
https://www.w3schools.com/cssref/css3_pr_order.asp

1

Mam tutaj taki skrypcik do sortowania. Moze pomoze ale musisz sobie na vanille przetlumaczyc


jQuery.fn.sortDivs = function sortDivs() {
    $("> tr", this[0]).sort(dec_sort).appendTo(this[0]);

    function dec_sort(a, b) {
        return ($(b).data("dist")) < ($(a).data("dist")) ? 1 : -1;
    }
};

$(container).sortDivs();

1 użytkowników online, w tym zalogowanych: 0, gości: 1