Как правильно преобразовать строковое значение из модели Spring в строковую переменную JavaScript через Thymeleaf? - PullRequest
1 голос
/ 06 июля 2019

Я использую Spring Boot 2.0.6.RELEASE, Thymeleaf 3, Kendo UI jQuery (используйте этот компонент https://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist/configuration/value),

html кода (шаблон Thymeleaf)

<td><label th:for="provinceOrCity">Tỉnh/TP</label></td>
<td>
    <input type="text" th:field="*{provinceOrCity}" class="k-textbox" style="width: 100%;">
    <script>
        $(document).ready(function () {
            var dataProvince = new kendo.data.DataSource({
                transport: {
                    read: {
                        url: "/provinces",
                        dataType: "json"
                    }
                },
                pageSize: 300
            });
            // create DropDownList from input HTML element

            /*<![CDATA[*/
            var intrinsic = [[*{provinceOrCity}]];
            var foo = intrinsic.toString();
            /*]]>*/

            $("#provinceOrCity").kendoDropDownList({
                dataTextField: "text",
                dataValueField: "value",
                dataSource: dataProvince,
                filter: "contains",
                //filter: "startswith",
                suggest: true,
                //index: 0,
                change: onChangeProvince,
                //value: "Hà Nội"
                value: foo
                //value: [[*{provinceOrCity}]]
            });
        });
        // Create DropDownList from select HTML element
        //$("#provinceOrCity").kendoDropDownList();
        //var provinceOrCity_combo = $("#provinceOrCity").data("kendoDropDownList");
        //provinceOrCity_combo.select(0);
        function onChangeProvince() { }
    </script>
</td>

enter image description here

На скриншоте консоли вы видите Hà Nội, я хочу строковую переменную "Hà Nội" или 'Hà Nội', тогда она не вызовет ошибку.

Как правильно преобразовать [[*{provinceOrCity}]] в строковую переменную JavaScript?

1 Ответ

1 голос
/ 06 июля 2019

Просто заключите его в кавычки - значение вводится до запуска скрипта, поэтому значение будет вставлено, а затем JavaScript создаст строку.

var intrinsic = "[[*{provinceOrCity}]]";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...