Я использую jquery MASKED INPUT PLUGIN для маскировки моих полей ввода, которые привязаны к данным нокаутные переменные. У меня проблема с маскировкой, если нокаутирующая переменная является вычисляемой переменной.
Вот ссылка Fiddler https://jsfiddle.net/himanshudhiman/2h1f18qo/5/
Я могу маскировать поля ввода наблюдаемого массива. Но у меня нет опции маскирования для поля ввода вычисляемой переменной (т.е. здесь в моем коде есть «self.SelectById()»).
Модель представления
function KeyValuePairOfIdAndName(Name, ID) {
var self = this;
self.Name = Name;
self.ID = ID;
}
var ViewModel = function () {
var self = this;
self.listOfkeyValue = ko.observableArray();
self.SelectById = ko.computed(function () {
return ko.utils.arrayFilter(self.listOfkeyValue(), function (Fruit) {
return Fruit.ID == 1001;
});
});
var count = 1;
self.CreateNewFruit = function () {
self.listOfkeyValue.push(new KeyValuePairOfIdAndName("Apple" + count, 999 + count));
$(".inputboxofEachFruit").mask("9999");
count = count + 1;
}
}
$(document).ready(function () {
var viewModel = new ViewModel();
ko.applyBindings(viewModel);
$(".inputboxofEachFruit").mask("9999");
$(".inputboxofSelectedFruit").mask("9999");
});
HTML
<button data-bind="event: { mousedown: CreateNewFruit }" >Createe Fruit</button>
<br/>
Fruits From Observable Array
<div data-bind="foreach: listOfkeyValue" >
<input class = "inputboxofEachFruit" data-bind="value: ID"/>
</div>
<br/>
<span style = "color:Red;">Fruits From computed variable</span>
<div data-bind="foreach: SelectById" >
<input class = "inputboxofSelectedFruit" data-bind="value: ID"/>
</div>
У меня есть идея, что мне нужно привязать динамически созданные переменные к свойству маски, и я сделал это в «self.CreateNewFruit()» после нажатия нового элемента в «self.listOfkeyValue()». Но что делать с вычисляемыми переменными. Как их замаскировать.
.mask
к динамически генерируемым элементам, проверьте здесь jsfiddle.net/supercool/2h1f18qo/7< /а> - person super cool   schedule 17.09.2015$parent
в html, чтобы запустить событие - person super cool   schedule 18.09.2015