私たちはMVC/MVVM / JQuery/Knockoutプロジェクトに取り組んでいます。そのため、クライアントはほとんど切断され、すべてのデータはコントローラーによって初期化され、クライアント側のビューモデルにシリアル化されます。オートコンプリートに問題があり、機能するカスタムjqueryオートコンプリートを作成しましたが、実装が簡単になるようにする必要があります。jqAutoを使用していましたが、データのスタブを削除してサーバーからデータを受信し始めると、それを機能させることができませんでした...試してみて、さらに試してみました...ただ機能しませんでした。
これが私が持っているものです...そしてそれは機能します。
<input id="DiagramNumberInput" />
<input id="DiagramNumberSelectionID" data-bind="value:viewModel.SelectedValue"/>
$('#DiagramNumberInput').autocomplete({
source: $.map(viewModel.InitializationValues.ListsOptions.AvailableDiagramNumbersArray(), function (item) {
return {
lable: item.Name(),
value: item.Name(),
id: item.ID()
};
}),
minLength: 1,
select: function (event, ui) {
$('#DiagramNumberSelectionID').val(ui.item.id);
}
});
私が言ったように、私は多くのオートコンプリートを持っており、この関数をカプセル化する必要があり、またそれを機能させたいので、選択したIDバインディングに個別のhtml入力を使用する必要はありません。
これが私が探しているものです
<input id="DiagramNumberInput" data-bind="value: myfunction(myarray, viewModel.SelectedDiagNumberID)/>