我们正在开发一个 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)/>