に結合しません。最低3文字を入力すると、Webサービスコールが行われ、可能な一致が表示されます。 MultiSelectで項目を選択して保存すると、選択したアイテムのIDをテーブルに保存しています。選択したIDをマルチセレクションから保存するだけです。私はCPTdata剣道Angular2複数選択は、私たちは複数選択コンポーネントを持っているのいずれかのページにAngular2アプリケーションを構築しています返された応答
私の問題ではコードだけでなく、サポートするフィールドの残りの部分を含んで複数選択で、以前保存したものを表示するためのすべての情報を持つオブジェクト型を返すいますバック私のWeb API呼び出しでデータを取得するには MultiSelectコントロールがあるページを参照すると、選択した値がコントロールにバインドされたり表示されたりしません。私はWeb APIの応答を見て、サポートされているフィールドと共に選択された値がそこに存在することを検証します。前に選択した保存された値を表示するために完了する必要のある他のステップがありますか?ここで
は私のhtmlコードです:ここで
<kendo-multiselect id="txtCptCode" #CptCodemultiselect
[filterable]="true"
(filterChange)="handleCptFilter($event)"
[data]="CPTdata"
[textField]="'Code'"
(valueChange)="CptValueChange($event)"
[valueField]="'CptId'"
[(ngModel)]="Model.CPTCodes">
</kendo-multiselect>
はhandleCptFilter
handleCptFilter(value: any) {
if (value.length >= 3) {
this.cptRequest.value = value;
this._surgeryRequestFormService.getCPTByCodeOrDesc1(this.cptRequest).subscribe(
data => {
this.CPTdata = data;
},
error => {
console.log("Error", error);
}
)
}
else {
console.log("Do nothing");
}
}です。 Enterキーが押されたか、コンポーネントがフォーカスを失った後、値の供給リストには表示されません。そのとき、ここで
は、デフォルトではCptValueChange
Kendo documentation notesとしてpublic CptValueChange(value: any): void {
var _this = this;
var model = new surgeryReservationModel();
if ((this.CPTdata != null) && (value != null || undefined || "")) {
for (let entry of this.CPTdata) {
for (let selectedCPT of value) {
if (entry.Code == selectedCPT.Code) {
var CPTDescription;
if (_this.Model.CPTDescription != null)
{
CPTDescription = _this.Model.CPTDescription;
_this.Model.CPTDescription = (CPTDescription + "\n" + entry.ShortDescription);
}
else if (_this.Model.CPTDescription == null)
{
_this.Model.CPTDescription = entry.ShortDescription;
}
// _this.surgeryReservationModel.CPTCodeId = entry.CptId;
console.log("CPT Description is " + "" + _this.Model.CPTDescription);
break;
}
}
}
console.log("valueChange", value);
}
}