Jquery 在按钮点击的情况下,Observable不起作用
我有一个带有“id”元素的json,我在一个文本框中传递该“id”,并希望在点击按钮时在下面的列表中找到相应项的更改颜色 Js代码:Jquery 在按钮点击的情况下,Observable不起作用,jquery,knockout.js,Jquery,Knockout.js,我有一个带有“id”元素的json,我在一个文本框中传递该“id”,并希望在点击按钮时在下面的列表中找到相应项的更改颜色 Js代码: var bugTracker=function(){ var self=this; self.bugId=ko.observable(), self.bugList=ko.observableArray([ {id:1,name:"Abc"},{id:2,name:"Dooo"},{id:3,name:"Usss"},{id:
var bugTracker=function(){
var self=this;
self.bugId=ko.observable(),
self.bugList=ko.observableArray([
{id:1,name:"Abc"},{id:2,name:"Dooo"},{id:3,name:"Usss"},{id:4,name:"Yeess"}
])
self.currentSelectedId=ko.observable(0);
self.getSelected=function(data){
console.log(self.bugId());
this.currentSelectedId(self.bugId());
console.log(this.currentSelectedId());
}
self.getClicked=function(data){
//console.log(self.bugName());
this.currentSelectedId(data.id);
console.log(this.currentSelectedId());
}
}
$(function(){
ko.applyBindings(new bugTracker());
});
HTML代码:
<div class="content">
<label>Enter Bug Id:</label>
<input type="text" data-bind="value : bugId" >
<input type="button" data-bind="click: getSelected" value="Select Item"/>
<ol data-bind="foreach : bugList">
<li data-bind="text : name,css:{'filteredItemTex': id===$parent.currentSelectedId()},'click': function(){$parent.getClicked($data);}" >
</li>
</ol>
</div>
问题是
bugId
绑定到一个文本框,因此它的值是一个字符串id==$parent.CurrentSelecteId()
失败,因为==
正在进行严格的比较
您可以将其更改为==
,或使用parseInt
:
self.getSelected = function(data) {
console.log(self.bugId());
this.currentSelectedId(parseInt(self.bugId()));
console.log(this.currentSelectedId());
}
小提琴:
self.getSelected = function(data) {
console.log(self.bugId());
this.currentSelectedId(parseInt(self.bugId()));
console.log(this.currentSelectedId());
}