Выпадающее меню, направленное на тот же URL - PullRequest
0 голосов
/ 06 ноября 2019

Я создал выпадающее меню с несколькими вариантами выбора. Однако, какой бы вариант я ни выбрал, он направляет меня на тот же URL. В этом случае последний написанный код. Может кто-нибудь сказать мне, что я пропустил в коде?

import wixLocation from 'wix-location';

$w.onReady(function () {
    $w("#dropdown1").onChange((event, $w) => {
        console.log(event.target.value); //iPhone X
        wixLocation.to("/iphonex");
    });
});
$w.onReady(function () {
    $w("#dropdown1").onChange((event, $w) => {
        console.log(event.target.value); //iPhone XS
        wixLocation.to("/iphonexs");
    });
});
$w.onReady(function () {
    $w("#dropdown1").onChange((event, $w) => {
        console.log(event.target.value); //iPhone XS MAX
        wixLocation.to("/iphonexsmax");
    });
});

1 Ответ

0 голосов
/ 06 ноября 2019

Вам нужен только один обработчик событий. Вам нужно перейти к значению

Если у вас их больше одного, выполняется последний

import wixLocation from 'wix-location';

$w.onReady(function () {
    $w("#dropdown1").onChange((event, $w) => {
        var page = event.target.value); //"iPhone X" OR "iPhone XS" etc
        if (page) wixLocation.to("/"+page.replace(/\s+/g,"").toLowerCase());
    });
});

Если вместо этого вы установите значение VALUE для параметров iphonex, iphonexs и т. Д., ТогдаВы можете просто сделать

    $w("#dropdown1").onChange((event, $w) => {
        var page = event.target.value); // "iphonex" OR "iphonexs" etc
        if (page) wixLocation.to("/"+page)
    });
...