2012-07-06 62 views
1

我该如何做?我试图用我在这里根据代码构建的扩展器来实现它:https://github.com/jimrhoskins/knockout.localStorage使用localStorage存储值加载Knockout Observable

它将值保存到localStorage就好了,但是在重新加载页面时,Knockout似乎忽略了设置值并使用第一个选项覆盖它来自阵列。

<select data-bind="value: pageSize, options: search_filter_data.page_sizes, optionsText: 'label'"></select> 

page_sizes: [{ 
     value: 10, 
     label: '10 Per Page' 
    }, { 
     value: 25, 
     label: '25 Per Page' 
    }, { 
     value: 50, 
     label: '50 Per Page' 
    }, { 
     value: 9999, 
     label: 'All' 
    }] 
+1

,你能否告诉我们'pageSize'的代码?当你运行它们时,他们的例子是否适合你? – philipvr 2012-07-06 02:31:36

回答

0

使用optionsValue属性就像这个例子:

例子:http://jsfiddle.net/gurkavcu/kA8W3/

<select data-bind="value: pageSize, options: page_sizes, 
     optionsText: 'label', optionsValue: 'value' "></select> 

function ViewModel() { 

    this.page_sizes = [{  
     value: 10, 
     label: '10 Per Page' 
    }, {   
     value: 25, 
      label: '25 Per Page' 
    }, { 
     value: 50, 
     label: '50 Per Page' 
    }, {  
     value: 9999, 
     label: 'All' 
    }]; 

    this.pageSize = ko.observable(25); 

}; 

$(function() { 

    var viewModel = new ViewModel(); 
    ko.applyBindings(viewModel); 


})​