Я использую angularjs для создания страницы поиска, где пользователь может использовать фильтры для поиска предметов, которые они хотят. Если пользователь покинет эту страницу, а затем вернется, я хочу, чтобы тег select отображал то, что было раньше. Например, если пользователь отфильтровывает элементы с минимальной ценой $ 0, а затем оставляет страницу, но возвращается к ней, я хочу, чтобы тег select отображал $ 0. Это мой html...
<p><b> Minimum Price: </b>
<select class="form-control" style="width:30%" data-ng-model="minPrice" ng-options="number for number in price track by number">
</select>
</p>
и это мой контроллер...
$scope.search = function() {
if( $scope.minPrice == "None") {
$scope.minPrice = "";
}
// get the search query
$http.get("http://localhost:8080/RealEstate/houseListing/filter?" + "minPrice=" + $scope.minPrice + "&maxPrice=" + $scope.maxPrice + "&bedsTotal=" + $scope.beds + "&bathsTotal=" + $scope.baths)
.success(function(response) {
$scope.result = response;
alert($scope.result);
sessionStorage.minPrice = $scope.minPrice;
sessionStorage.result = true;
})
}
if(sessionStorage.result != null) {
// restore the last search
$scope.minPrice = sessionStorage.minPrice;
$scope.search();
} else {
Я сократил код, чтобы было легче читать, но, если быть точным, я хочу, чтобы тег select отображал опцию, которую пользователь выбрал раньше. Я сохранил значение в sessionStorage, а затем попытался восстановить его, когда страница загружена, если она существует, но тег select ничего не показывает.
да это возможно. Здесь работает плункер, основанный на вашем коде, где я даже записываю значение minPrice в sessionstorage, а затем читаю его обратно для выбранного значения выбранной модели:
http://plnkr.co/edit/n2miUv?p=preview
JS
$scope.price = [10, 11, 13, 100, 33, 57];
// Save data to sessionStorage
sessionStorage.setItem('minPrice', 13);
// Get saved data from sessionStorage
var data = sessionStorage.getItem('minPrice');
$scope.minPrice = data;
HTML
<p>
<b> Minimum Price: </b>
<select class="form-control" style="width:30%"
ng-model="minPrice"
ng-options="number for number in price track by number"></select>
</p>
Я подозреваю, что у вас может возникнуть проблема с вашим значением, которое вы пытаетесь связать, если оно не работает.