Я использую следующие привязки:Нокаут связывание не работает для входного типа = «текст»
ko.bindingHandlers.numericText = {
update: function (element, valueAccessor, allBindingsAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor()),
precision = ko.utils.unwrapObservable(allBindingsAccessor().precision) || ko.bindingHandlers.numericText.defaultPrecision,
formattedValue = value.toFixed(precision);
console.log(formattedValue);
ko.bindingHandlers.text.update(element, function() { return formattedValue; });
},
defaultPrecision: 1
};
и этот HTML
<input id="Price0" data-bind="numericText: price, valueUpdate:'afterkeydown'">
<input id="Price1" data-bind="numericText: price(), valueUpdate:'afterkeydown'">
<input id="Price2" data-bind="value: price, valueUpdate:'afterkeydown'">
<input id="Price3" data-bind="text: price, valueUpdate:'afterkeydown'">
1:<span data-bind="text: price"></span>
2:<span data-bind="text: price()"></span>
Теперь он работает на пролетах, но не на input type = text (price0 и price1)
Я хотел бы создать двухстороннюю привязку между моей моделью просмотра и текстовым полем, и это первая часть моего процесса try.
Когда я обновляю ViewModel пролеты должны обновляться, но не price0 и price1
Когда я изменить его на 'ko.bindingHandlers.value.update (элемент, функция() {возвращение FormattedValue;});' это не работает либо .... – Michel
См. мое редактирование по моему ответу – pquest
Спасибо! Форматирование измененных данных при обновлении vm теперь выполняется (возвращаемый $ (элемент) .val (форматированный результат); 'part), но я не могу заставить эту часть работать, чтобы обновить viewmodel. В этой части ('curStr = $ (element) .val();') я прочитал новое введенное значение в поле ввода, а 'curVal = valueAccessor()' возвращает текущее значение vm. Но с этим кодом 'curVal (/ * помещает все, что вы хотите, чтобы vm обновлялся здесь * /);' Кажется, я не могу установить новое значение в viewmodel. Например, curVal (7) дает мне эту ошибку 'Uncaught TypeError: number is not a function' и не задает viewmodel в 7 – Michel