У меня есть текстовое поле ввода типа «текст». Мое требование - это текстовое поле может принимать только цифры и десятичные точки [это необязательно]. Я не могу использовать шаг, потому что шаг будет определять десятичные точки после цифр, поскольку у меня мало сценариев, где я не хочу использовать десятичную точку. Например, если мой выпадающий выбор зависит от количества транзакций, тогда текстовое поле не должно допускать ввода десятичных знаков. Второй пример. Если мой выпадающий выбор - это сумма транзакции, тогда текстовое поле должно позволить мне вводить ввод с десятичной точкой.Вход HTML с заданным шаблоном
0
A
ответ
0
скрипку http://jsfiddle.net/LkqTU/32169/
звучит как, возможно, вы ищете нокаут удлинитель http://knockoutjs.com/documentation/extenders.html
в скрипке я в основном скопированный код из документации нокаута http://jsfiddle.net/LkqTU/32169/ путем изменения значения точности вы решите, сколько знаков после запятой округлить до.
ko.extenders.numeric = function (target, precision) {
//create a writable computed observable to intercept writes to our observable
var result = ko.pureComputed({
read: target, //always return the original observables value
write: function (newValue) {
var current = target(),
roundingMultiplier = Math.pow(10, precision),
newValueAsNum = isNaN(newValue) ? 0 : parseFloat(+newValue),
valueToWrite = Math.round(newValueAsNum * roundingMultiplier)/roundingMultiplier;
//only write if it changed
if (valueToWrite !== current) {
target(valueToWrite);
} else {
//if the rounded value is the same, but a different value was written, force a notification for the current field
if (newValue !== current) {
target.notifySubscribers(valueToWrite);
}
}
}
}).extend({ notify: 'always' });
//initialize with current value to make sure it is rounded appropriately
result(target());
//return the new computed observable
return result;
};
function model() {
var self = this;
myvalue1 = ko.observable('').extend({ numeric: '0' });
myvalue2 = ko.observable('').extend({ numeric: '2' });
}
var mymodel = new model();
$(document).ready(function() {
ko.applyBindings(mymodel);
});
Смежные вопросы
- 1. Сравнение строки с заданным шаблоном
- 2. Исключить символы перед заданным шаблоном
- 3. tail file - количество строк с заданным шаблоном
- 4. Проверка строк с заданным шаблоном регулярного выражения?
- 5. нужно разбить строку (формула) с заданным шаблоном
- 6. Объявление переменных с заданным шаблоном типа
- 7. Отключить вход с заданным классом, onClick?
- 8. Удаление символа перед заданным шаблоном в R
- 9. Выберите элемент, чей ребенок/внуки/.. содержит элемент с заданным шаблоном
- 10. Как зеркалировать файлы с заданным шаблоном (подстановочный знак)
- 11. Форматирование переменной в iReport в соответствии с заданным шаблоном
- 12. Пакетная печать нескольких заказов с заданным шаблоном из MVC
- 13. Как хвост -f последней лог-файл с заданным шаблоном
- 14. Symfony: Как получить все модели с заданным шаблоном?
- 15. удалите строку со специальным символом с заданным шаблоном
- 16. Регулярное выражение в php для поиска url с заданным шаблоном
- 17. Использование реакции с шаблоном html
- 18. jQuery clone с HTML-шаблоном
- 19. Вывод HTML с шаблоном PHP
- 20. jsBlocks с внешним шаблоном html
- 21. html-pdf с шаблоном ejs
- 22. Вход HTML HTML с запросом
- 23. HTML: Сравнить ввод с заданным значением
- 24. JavaScript - модальное окно с заданным html
- 25. Как проверить инициалы с шаблоном html?
- 26. внутренний вывод HTML с шаблоном Javascript
- 27. Как визуализировать div с шаблоном, используя .html()
- 28. Связывание данных AJAX с шаблоном списка html
- 29. javascript глобальная переменная (с шаблоном html)
- 30. Вложения беспорядок с шаблоном электронной почты HTML
Возможный дубликат [Номер ввода в Knockout JS] (http://stackoverflow.com/questions/39394445/number-input-box-in-knockout-js) – AldoRomo88
Спасибо @ AldoRomo88. Будет пытаться реализовать таким же образом –