Я пытаюсь обновить текстовое поле при изменении значения select.Knockout.js - Обновление текстового поля при изменении выпадающего списка
Теперь я знаю, что это довольно просто, но я не хочу обновлять текстовое поле с помощью простого для получения данных.
Вот что я могу сделать, до сих пор:
- Поймать событие изменения
- Получить идентификатор из Выбрать выпадающего списка
Вот что я хочу сделать:
- Используйте выделенный идентификатор, чтобы вернуть значение свойства из массива объектов внутри моей модели. Однако идентификатор не соответствует индексу массива (т. Е. Выбранный идентификатор может быть «43», но индекс равен 0).
Не так много смысла в публикации моего кода нокаута, поскольку он довольно простой, поэтому вместо этого я опубликую свою структуру VM.
ViewModel
--> Property1
--> Property2
--> Array
--> Object[0]
--> "Property to match with the selected ID"
--> "Property that I want to return"
--> Object[1]
Не уверен, насколько это смысл, надеемся, что это принесет некоторые из них.
Любая другая информация может быть предоставлена.
Спасибо!
EDIT
В.М.
var PurchaseOrderViewModel = function (data) {
var self = this;
self.UpdateCurrency = function (data, event) {
//
}
self.UpdateSupplierContactDetails = function (data, event) {
//
}
ko.mapping.fromJS(data, {}, self);
}
$(document).ready(function() {
var viewModel = new PurchaseOrderViewModel(@Html.Raw(jsonString));
ko.applyBindings(viewModel);
});
EDIT # 2
Успели получить работающее решение, в случае, если кто-то есть вопросы, вот как я работал вокруг него.
var contact = ko.unwrap(ko.utils.arrayFirst(self.AllSupplierContacts(),
function (item) {
return ko.unwrap(item.Id) === newID;
}).BusinessTelephoneNumber);
Там всегда точка размещения текущего кода, по крайней мере, потому, что мы не должны написать тестовый прибор от нуля только, чтобы иметь что-то работать. Отправьте свой код. Сделайте это (в основном) рабочий пример, viewmodel, data, view, initialization и все. – Tomalak
@JamesThorpe Да, вероятно, плохо сформулировано. Что я имел в виду, так это то, что он по существу является шаблоном, и я пытаюсь расширить его с помощью этой первой функции. Будет редактировать OP с источником. –