2012-05-15 75 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

相關問題