Javascript KO选项绑定在页面重新加载时将值保存为默认值

Javascript KO选项绑定在页面重新加载时将值保存为默认值,javascript,knockout.js,Javascript,Knockout.js,嗨,我正在使用knockout有一个选择下拉栏,允许用户选择他们的位置。现在,由于我的下拉菜单的工作方式,它刷新页面,为该项目引入正确的产品 我想要的是,当页面刷新时,将他们选择的位置作为下拉列表中的默认值。但现在它又回到了optionCaption <select id="SelectLocation" data-bind="options: OrgTitles, optionsText: 'title', optionsCaption: 'Choose Cen

嗨,我正在使用knockout有一个选择下拉栏,允许用户选择他们的位置。现在,由于我的下拉菜单的工作方式,它刷新页面,为该项目引入正确的产品

我想要的是,当页面刷新时,将他们选择的位置作为下拉列表中的默认值。但现在它又回到了optionCaption

        <select id="SelectLocation" data-bind="options: OrgTitles, 
    optionsText: 'title', optionsCaption: 'Choose Centre...', 
value: StoreLocationSelected">
            </select>

有什么我可以做的吗?任何建议都会很有帮助。

如果您在选择后刷新整个页面,那么您就做错了。只要发出ajax类型的请求来获取信息并用返回的值更新现有页面,就不应该重新加载整个页面

使用方法获取数据并通过订阅调用:

    viewModel.getData = function (someId) {

        $.ajax({
            url: 'http://someurl/controller/getdata',
            dataType: 'json',
            data: {
                "Id": someId
            }               
        }).success(function (data) {
            viewModel.updateSomethingWithReturnedData(data);                
        });
    };
这将以异步方式完成,因此不需要刷新页面。一旦一个敲除观测值通过
viewModel.updateMethingWithReturnedData(数据)更改了它的值,页面将被更新

    viewModel.getData = function (someId) {

        $.ajax({
            url: 'http://someurl/controller/getdata',
            dataType: 'json',
            data: {
                "Id": someId
            }               
        }).success(function (data) {
            viewModel.updateSomethingWithReturnedData(data);                
        });
    };