Kendo UI mvc を使用して asp.net mvc に取り組んでいます。2 つの剣道ドロップダウン リストがあります。1 つは診療所のリスト、もう 1 つは選択した診療所の患者のリストです。しかし、カスケード ドロップダウンリストを使用するために、診療所と患者の間に直接的な関係はありません。そのために、ドロップダウンリストの変更イベントで ajax 呼び出しを使用し、患者のリストを取得しました。これはリストクリニックの最初のドロップダウンリストです
@(
Html.Kendo().DropDownList()
.Name("ddlClinics")
.Events(e=>e.Change("ChangeClinic"))
.BindTo(new SelectList((List<Account.Entities.Clinic>)ViewBag.lstClinic,
"ClinicID", "ClinicName")))
これはlistpatientsの2番目のドロップダウンリストです
@(
Html.Kendo().DropDownList()
.Name("ddlPatients")
.BindTo(new SelectList((List<Patient>)ViewBag.Patients,
"PatId", "PatName"))))
最初のドロップダウンリストが変更されたときに、患者のリストを2番目のドロップダウンリストに動的にバインドしたいのですが、
function ChangeClinic()
{
$.ajax({
url: '/Messages/GetPatient',
type: 'Post',
data: { email: '@User.Identity.Name' },
cache: false,
success: function (result) {
var ddlPatients = $('#ddlPatients').data('kendoDropDownList');
var main = [];
$.each(result, function (k, v) {
main.push({ "PatId": v.PatId, "PatName": v.PatName });
});
ddlPatients.dataTextField = "PatName";
ddlPatients.dataValueField = "PatId";
ddlPatients.dataSource.data(main);
ddlPatients.reload();
}
});
}
リストをドロップダウンリストにバインドできますが、すべての項目が「未定義」として表示されます。だから私を導いてください。