2012-05-15 76 views
0

我在使用knockout js时遇到了问题。在此处我使用observable数组,其中属性名selectedItem与单选按钮checked属性绑定。更改任何选项我希望先前值和当前值被点击。当我在Knockout.js中选择单选按钮的其他选项时,查找单选按钮的前一个值

<div style="font-size: 11px; line-height: 1.28; margin-left: 5px; margin-top: 10px;" 
     data-bind="foreach:OptionDetail"> 
    <div> 
    **<input type="radio" class="mts" style="float: left; margin-left: 5px" data-bind="attr:{name:ParentCourseItemID,value:OptionDescription},click:function($root,event){SaveOptionForPoll($root,Option,SelectedItemID)},checked:SelectedItemID" />** 
    </div> 
    <input type="hidden" data-bind="attr:{id:'hdnSelectOption'+CourseItemID}" /> 
    <div data-bind="event: { mouseover: $root.ShowVoteCount, mouseout: $root.HideVoteCount }" style="margin-bottom: 5px; border: 1px solid #CCC; background-color: white; 
           zoom: 1; float: left; width: 210px; margin-left: 5px; height: 25px;"> 
    <div style="text-align: left; float: left; margin-top: 5px; margin-left: 5px;" data-bind="html:OptionDescription"> 
    </div> 
    <div style="float: right; display:none; width: 50px; background-color: yellow; height: 52%; padding: 6px;" 
     data-bind="attr:{id:'poll'+CourseItemID}"> 
     <span style="margin-right:5px;" data-bind="text:VoteCount"></span>Votes 
    </div> 
    </div> 
    <div style="padding-left: 5px; padding-right: 5px; height: 100%"> 
    <span style="position: relative; top: 4px"></span> 
    </div> 
</div> 
+0

给我们展示一些代码如何? – Niko

回答

1

难道你不能在每次当前值变化时记录上一个值。就像是。

var viewModel = function(data) { 
    var self = this; 
    this.value = ko.observable(); 
    this.previousValue = ko.observable(this.value()); 

    this.value.subscribe(function (newValue) { 
     console.log("current value: " + newValue + " previousValue: " 
       + self.previousValue()); 
     // do something with previous value 
     self.previousValue(self.value());  
    }); 
}; 

ko.applyBindings(new viewModel()); 

http://jsfiddle.net/madcapnmckay/2ZwDm/1/

希望这有助于。

+0

感谢您给我的链接它是完全可观察的变量的工作。但我使用可观察的数组。所以如何找到列表中特定对象的单选按钮的特定以前的值。 – user1242675

+0

@ user1242675 - 我不太明白?你能显示你的js代码吗?我相信这个解决方案可以应用。 – madcapnmckay

相关问题