Javascript 在页面刷新或重新加载后,如何保持用户选择的选项显示在屏幕上?

Javascript 在页面刷新或重新加载后,如何保持用户选择的选项显示在屏幕上?,javascript,html,angularjs,twitter-bootstrap,Javascript,Html,Angularjs,Twitter Bootstrap,我做了一个有3个选项的选择下拉列表。当前,当用户选择其中一个选项,然后刷新页面时,他的选择将消失。我需要用户能够刷新页面,但仍然可以看到他在页面刷新之前选择的选项。有没有一个AngularJS指令可以做到这一点?如果没有,我如何防止用户选择在刷新后消失?没有关于堆栈溢出的问题可以解决这个特定问题 以下是带有select标记的html: <!DOCTYPE html> <html ng-app="findTheBug"> <head> <met

我做了一个有3个选项的选择下拉列表。当前,当用户选择其中一个选项,然后刷新页面时,他的选择将消失。我需要用户能够刷新页面,但仍然可以看到他在页面刷新之前选择的选项。有没有一个AngularJS指令可以做到这一点?如果没有,我如何防止用户选择在刷新后消失?没有关于堆栈溢出的问题可以解决这个特定问题

以下是带有select标记的html:

<!DOCTYPE html>
<html ng-app="findTheBug">
  <head>
    <meta charset="utf-8">
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
    <script src="./app.js" charset="utf-8"></script>
  </head>
  <body ng-controller="bugCTRL">

<p>5+5={{4+6}} (this is a check to make sure angular is working)</p>
<p>Choices: {{greetings}} (this is a check to make sure greetings is connected)</p>

<hr>
<select class="" name="">
  <option value="one">Stack Overflow, You're the Best!</option>
  <option value="two" ng-repeat="greeting in greetings">{{greeting}}</option>
</select>
<hr>
</body>
</html>
我还没有找到一个angular指令来解决这个问题,但这里有一个select下拉列表的示例,它不会在页面刷新时隐藏users选项。下面是一个排序的工作示例,仅供参考

<select  class="form-control from-to-controls" ng-model="pair.from._id"  ng-change="selectEndpoint(pair.from,'{{pair.from._id}}')" ng-disabled="autoTest && testRunning || disableAll">
    <option value="NEW">New</option>
    <option ng-repeat="endpoint in endpoints" value="{{endpoint._id}}" ng-selected="endpoint.name==pair.from.name">{{endpoint.name}}</option>
</select>


<select class="form-control from-to-controls" ng-model="pair.to._id"   ng-change="selectEndpoint(pair.to,'{{pair.to._id}}')" ng-disabled="autoTest && testRunning || disableAll">
    <option value="NEW">New</option>
    <option ng-repeat="endpoint in endpoints" value="{{endpoint._id}}" ng-selected="endpoint.name==pair.to.name">{{endpoint.name}}</option>
</select>

新的
{{endpoint.name}
新的
{{endpoint.name}
我已经在谷歌上搜索过,并尝试将ng change、ng selected和ng disabled添加到我的代码中,以尝试复制上面的代码段,但没有成功。我不相信这3条指令中有一条与我遇到的刷新问题有关,但我可能错了

(根据堆栈溢出,我花了相当长的时间问这个问题。)

您可以使用HTML5来存储以前选择的数据

var myApp=angular.module('myApp',[]);
myApp.controller('MyCtrl',函数($scope){
$scope.greetings=[“早上好”、“晚上好”、“晚上好”];
var selectedVal=localStorage.getItem('greeting');
如果(selectedVal){
$scope.greet=selectedVal;
}
$scope.selectedOption=功能(问候){
setItem('greeting',greeting);
};
});

堆栈溢出,你是最好的!
{{问候语}

COOKIES!!!!!!!!!因此,制作一个cookie来存储用户选择。然后在
上调用cookie。简单!您可以使用前面提到的cookie或本地存储,我认为这是更好的解决方案,因为这些值不会随每个请求一起发送到服务器。这在每个主要浏览器上都受支持。可以在这里找到文档和示例:为什么需要重新加载网页?Angular是SPA,因此无需重新加载。但是如果你必须的话,我建议你使用Localstorage。我正在做一个项目,我的老板说用户可能会重新加载页面,但仍然需要查看他们选择的选项。我试图在这个小项目中重现这种情况。我相信他们希望代码看起来与上面的工作示例类似,并且想知道是否有任何angular指令可以实现这一点,否则我将研究Cookie和本地存储。@AraYaghsizian您是否检查了我的答案?
<select  class="form-control from-to-controls" ng-model="pair.from._id"  ng-change="selectEndpoint(pair.from,'{{pair.from._id}}')" ng-disabled="autoTest && testRunning || disableAll">
    <option value="NEW">New</option>
    <option ng-repeat="endpoint in endpoints" value="{{endpoint._id}}" ng-selected="endpoint.name==pair.from.name">{{endpoint.name}}</option>
</select>


<select class="form-control from-to-controls" ng-model="pair.to._id"   ng-change="selectEndpoint(pair.to,'{{pair.to._id}}')" ng-disabled="autoTest && testRunning || disableAll">
    <option value="NEW">New</option>
    <option ng-repeat="endpoint in endpoints" value="{{endpoint._id}}" ng-selected="endpoint.name==pair.to.name">{{endpoint.name}}</option>
</select>