我正在使用带有远程数据源的 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 链接。这就是我挣扎的地方。
我已经能够从我的 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 的必填字段。
我正在尝试像这样输出结果,对于 JSON 文件中的每条记录,fileID 都会发生变化。
<ul>
<li>
<a href="mydomain.co.uk/download?**fileID**">Download Student Record</a>
</li>
</ul>
我希望我能够解释我在哪里挣扎。