1

我该怎么做呢?我尝试使用基于此处代码构建的扩展器来做到这一点:https ://github.com/jimrhoskins/knockout.localStorage

它将值保存到 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'
    }]
4

1 回答 1

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); 


})​
于 2012-07-07T21:06:48.320 回答