如何屏蔽数据绑定到 Knockout 计算变量的输入文本框
How to masked an input text box which is data-bound to Knockout computed variable
我正在使用 jquery MASKED INPUT PLUGIN 来屏蔽我的输入框,这些输入框数据绑定到剔除变量。
如果敲除变量是计算变量,我在屏蔽时遇到问题。
这是提琴手 Link https://jsfiddle.net/himanshudhiman/2h1f18qo/5/
我能够屏蔽可观察数组的输入框。
但是我没有得到计算变量输入框的屏蔽选项(即在我的代码中是"self.SelectById()")。
ViewModel
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.listOfkeyValue()" 中推送新元素后在 "self.CreateNewFruit()" 中完成了该操作。但是如何处理计算变量。如何掩盖它们。
我正在使用 jquery MASKED INPUT PLUGIN 来屏蔽我的输入框,这些输入框数据绑定到剔除变量。 如果敲除变量是计算变量,我在屏蔽时遇到问题。
这是提琴手 Link https://jsfiddle.net/himanshudhiman/2h1f18qo/5/
我能够屏蔽可观察数组的输入框。 但是我没有得到计算变量输入框的屏蔽选项(即在我的代码中是"self.SelectById()")。
ViewModel
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.listOfkeyValue()" 中推送新元素后在 "self.CreateNewFruit()" 中完成了该操作。但是如何处理计算变量。如何掩盖它们。