Kendo ListView: включить ссылку - PullRequest
0 голосов
/ 09 марта 2020

Я использую Kendo ListView с удаленным источником данных. Я хотел бы добавить ссылки на данные, которые отображаются, но я изо всех сил.

Вот моя функция:

    $(function () {
        var dataSource = new kendo.data.DataSource({
            transport: {
                read: {
                    url: URL + "/Read",
                    dataType: "json"
                }
            },
            schema: {
                data: function (response) {
                    return response.Data["dsStudent"]["ttStudent"];
                },
            },
        });

        $("#listView").kendoListView({
            dataSource: dataSource,
            selectable: "multiple",
            dataBound: onDataBound,
            change: onChange,
            template: kendo.template($("#template").html())
        });


        function onDataBound() {
            //console.log("ListView data bound");
        }

        function onChange() {
            var data = dataSource.view(),
                selected = $.map(this.select(), function (item) {
                    return data[$(item).index()].fileID;
                });

           console.log("Selected: " + selected.length + " item(s), [" + selected.join(", ") + "]");
        }

    });

Вот мой шаблон

<script type="text/x-kendo-tmpl" id="template">
    <div class="product">
        <ul class="list-group">
            <li class="list-group-item">#:Name#</li>
        </ul>
    </div>
</script>

Данные отображаются как ожидалось. Мой JSON содержит значение, которое я хотел бы добавить к URL-адресу, которое затем будет использовано для создания ссылки href. Вот где я борюсь.

Я смог установить console.log нужного мне значения из моего JSON, но я теряюсь, пытаясь понять, как создать href.

Вот фрагмент моего JSON:

{"Data": {"dsStudent": {"ttStudent": [{"studentNum": 366,"studentVersion": 2,"createDate": "2018-02-11","fileID":"18525478387e8","description":"StudentNames.pdf","displayCreateTime": "15:31"}]}}}

Используя функцию onChange, я могу console.log заполнить обязательное поле из JSON.

Я пытаюсь выведите результаты, как это, fileID будет меняться для каждой записи в файле JSON.

<ul>
<li>
<a href="mydomain.co.uk/download?**fileID**">Download Student Record</a>
</li>
</ul>

Я надеюсь, что смог объяснить, где я борюсь.

1 Ответ

0 голосов
/ 09 марта 2020

Просто сделайте как в первом шаблоне, напечатайте значение:

<a href="mydomain.co.uk/download?#= fileID #">Download Student Record</a>
                                 ^ here is where you print the fileId inside the link address
...