[英]how to keep dropdown selected after refresh
我將此代碼用於加載下拉列表
<select
data-bind="value:SelectedOrganisationData,
options: GridAllOrganisationDataList,
event: { change: tanantNameSelect } ,
optionsText:'TenantName',optionsCaption: 'Choose your organisation ...',
optionsId:'SelectTenantName'"
class="dropdown">
</select>
function tanantNameSelect() {
var data = PayrollIntegrationVM.SelectedOrganisationData().TenantName;
DisplayMessage(data);
}
如果需要在重新加載頁面后保留數據,則必須將選定的值保存到數據庫中,並在用戶重新加載頁面時獲取該值。
在我看來,你大部分時間都在那里。 您只需要設置 SelectedOrganisationName。
var data = [ {id: 1, name: 'Test1'}, {id: 2, name: 'Test2'}, {id: 3, name: 'Test3'}, {id: 4, name: 'Test4'}, {id: 5, name: 'Test5'} ] function ViewModel(){ var self = this; self.selectedOption = ko.observable(); self.availableOptions = ko.observableArray(data); self.setSelectedOption = function(item){ self.selectedOption(item); } } var viewModel = new ViewModel() ko.applyBindings(viewModel);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script> <select data-bind="options: availableOptions, optionsText: 'name', optionsId:'id', value: selectedOption"></select> <br/> <h3>Press button to set the selection</h3> <ul data-bind="foreach: availableOptions"> <li><button data-bind="text: name, click: $parent.setSelectedOption"></button></li> </ul> <pre data-bind="text: ko.toJSON($root)"></pre>
即使刷新頁面也保存數據的唯一方法是:將所需的數據保存在數據庫中。 這樣做,當您刷新頁面時,數據仍然存在。 謝謝。 希望它有所幫助:)它也幫助了我。
另一個答案是發布 ajax 帖子而不是完整帖子。 這樣,您選擇的項目將保持選中狀態。 Ajax 不刷新頁面,只刷新頁面的部分需要刷新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.