このリンクをたどってKendoUIグリッドにカスタムツールバーを作成しようとしています: http://demos.telerik.com/kendo-ui/grid/toolbar-template でエラーが発生します。
これは私がコードでやろうとしていることです:
<div id="example">
<script type="text/x-kendo-template" id="template">
<div class="toolbar">
<label class="category-label" for="category">Show products by category:</label>
<input type="search" id="category" style="width: 150px" />
</div>
</script>
<div id="grid"></div>
<script>
$(document).ready(function () {
var grid = $("#grid").kendoGrid({
dataSource: {
transport: {
read: {
url: 'http://localhost:52738/Default1/KendoDataAjaxHandle',
type: "post",
dataType: "json"
}
},
schema: {
data: "Data",
total: function (response) {
return $(response.Data).length;
}
},
pageSize: 10
},
toolbar: kendo.template($("#template").html()),
groupable: true,
sortable: true,
pageable: {
refresh: true,
pageSizes: true,
buttonCount: 5
},
columns: [
{
field: "CustomerAltID",
filterable: true
},
{
field: "CustomerID",
title: "Customer ID"
},
{
field: "CustomerName",
title: "Customer Name",
template: "<div class='customer-photo'" +
"style='background-image: url(../Content/Images/customerimg/#:data.CustomerID#.jpg);'></div>" +
"<div class='customer-name'>#: CustomerName #</div>"
},
{
field: "Gender",
title: "Gender",
template: "<div class='gender-photo'" +
"style='background-image: url(../Content/Images/#:data.Gender#.jpg);'></div>"
}
]
});
var dropDown = grid.find("#category").kendoDropDownList({
dataTextField: "Gender",
dataValueField: "CustomerID",
autoBind: false,
optionLabel: "All",
dataSource: {
severFiltering: true,
transport: {
read: {
url: 'http://localhost:52738/Default1/KendoDataAjaxHandle',
type: "post",
dataType: "json"
}
},
schema: {
data:"Data"
}
},
change: function () {
var value = this.value();
if (value) {
grid.data("kendoGrid").dataSource.filter({ field: "CustomerID", operator: "eq", value: parseInt(value) });
} else {
grid.data("kendoGrid").dataSource.filter({});
}
}
});
});
</script>
</div>
何が問題なのかわからず、解決策がわからないのは数時間です。
私は次のバージョンを使用しています-Jqueryv-3.1およびJquery UI-1.12
問題はjQuery v3.1を使用していることが原因である可能性があります
剣道は現在、公式にはjQuery v3では動作しません。しかし、jquery-migrateも含めれば、明らかには機能します。 http://www.telerik.com/forums/jquery-3-
正式にサポートされているjQueryのバージョンは次のとおりです。 http://docs.telerik.com/kendo-ui/intro/installation/prerequisites#supported-jquery-versions 剣道R3 2016 SP2もjQuery 3.1.1で動作するはずです。
だからあなたはできる:
このgithubの問題 https://github.com/jquery/jquery/issues/3157 で言及されている別の答えは、HTMLに<script src="https://code.jquery.com/jquery-migrate-3.0.0.min.js"></script>
を含めることです。これは私のために働いた