Как вызвать функцию Javascript из атрибута thymeleaf th: text? - PullRequest
0 голосов
/ 02 марта 2019

Я хочу, чтобы мой селектор языка отображал флаги вместо названий языков

У меня есть файл flags.js, который содержит следующую информацию

let flags = [
    {
        "code": "AD",
        "emoji": "??",
        "unicode": "U+1F1E6 U+1F1E9",
        "name": "Andorra",
        "title": "flag for Andorra"
    },
    ...
];

let getFlagByCountryCode = (countryCode) => {
    flags.find((flag) => {
        return flag.code === countryCode.toUpperCase();
    })
};

И у меня отрисован лист тимьянаselect для языков

<select title="Language" id="locales" style="position: absolute; top: 10px; right: 10px;">
    <th:block th:each="locale : ${@resourceService.getLocales()}">
        <option th:value="${locale.language}"
                th:text="'getFlagByCountryCode(' + ${locale.language} + ')'"
                th:selected="${locale.language}==${T(org.springframework.context.i18n.LocaleContextHolder).getLocale().language}">
        </option>
    </th:block>
</select>

Но вместо вызова функции JS он просто отображает значение в виде текста

1 Ответ

0 голосов
/ 04 марта 2019

Вы можете использовать javascript в thymeleaf, используя тег на странице thymeleaf. Позвольте мне показать вам один пример: Это моя HTML-страница:

<input id="ok" type="submit"   onclick="redirection()"/>

Вы можете использовать javascript как:

<script type='text/javascript'>

"Ваш код Java-скрипта"

</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...