Spring MVC アプリケーションを持っていますが、Kendo UI でビューを作成しています。model.attribute からのデータをテーブルに入力し、テーブルに変更関数を追加して、選択が変更されたときに呼び出されるようにする必要があります。テーブルにデータを正常に入力できますが、行を選択すると次のエラーが発生します。
Uncaught TypeError: Cannot call method 'bind' of undefined.
コードが次の行に到達するとスローされます。
$("#pTable").data("kendoGrid").bind("change", function() {
Controller を呼び出して、属性passengers
をモデルに追加します。pTable
これは、 で見つかったデータに使用するテーブルの ID ですpassengers
。
私のjspファイル:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="/include.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Airline Database</title>
<link href="../styles/kendo.common.min.css" rel="stylesheet">
<link href="../styles/kendo.default.min.css" rel="stylesheet">
<script src="../js/jquery.min.js"></script>
<script src="../js/jquery-migrate-1.2.1.js"></script>
<script src="../js/kendo.all.min.js"></script>
</head>
<body>
<kendo:splitter name="pHorSplit">
<div id="pShow">
<kendo:grid name="pTable" selectable="true" sortable="true" filterable="true" pageable="false">
<kendo:grid-columns>
<kendo:grid-column title="Passenger ID" field="passengerID"/>
<kendo:grid-column title="Name" field="name"/>
<kendo:grid-column title="Passport" field="passport"/>
<kendo:grid-column title="Email" field="email"/>
</kendo:grid-columns>
<kendo:dataSource data="${passengers}"></kendo:dataSource>
</kendo:grid>
</div>
<div id="pControl">
//...
</div>
</kendo:splitter>
<script type="text/javascript">
$("#pTable").data("kendoGrid").bind("change", function() {
//...
});
</script>
</body>
</html>
また、dataSource スキーマを定義してみましたが、同じ結果が得られました。データがテーブルにロードされているのに、他の機会に定義されていない理由を誰か教えてもらえますか?