【发布时间】:2014-05-31 12:23:04
【问题描述】:
我正在使用 mobile-angular-ui (angular+bootstrap) 开发应用程序。 在我的登录页面中,用户可以记住他们的凭据(用户名和密码)。用户数据ara保存在localStorage中。
效果很好。我可以使用 datalist 在我的登录页面中加载用户:
<form name="userForm">
<div class="form-group" ng-class="{ 'has-error' : submitted && userForm.username.$invalid && !userForm.username.$pristine }">
<label for="inputEmail" class="control-label">Username</label>
<input type="text" class="form-control" id="inputEmail"
name="username" ng-model="user.username" list="UserMemoList"
required>
</div>
<datalist id="UserMemoList">
<option ng-repeat="item in userMemoList track by $index" ng-click="setChange(item)"
value="{{item.username}}" >
</option>
</datalist>
我可以选择我想要的item.username,但我无法选择对应的item.password。 我的问题是 datalist 不像 select 那样工作,我不能使用 ng-options。我必须使用 option+value 将我的值传递给输入。
<div class="form-group" ng-class="{ 'has-error' : submitted && userForm.password.$invalid && !userForm.password.$pristine }">
<label for="inputPassword" class="control-label">Password</label>
<input name="password" type="password" class="form-control" id="inputPassword"
ng-model="user.password" required>
</div>
我可以使用 ng-change="theSelectedUserIs(item)",但我无法传递 item 对象,因为 datalist 与用户名输入相关,所以我需要传递 item.username .
有什么想法吗? 我不想使用预输入,因为实际上在 bootstrap3 中已弃用或添加其他库/js/css。 我想只使用 angular 和 html 来做到这一点。
我的控制器:
$scope.userMemoList = JSON.parse(localStorage.getItem('userList'));
var user = {};
LoginService.setUser(user);
userMemoList 是一个对象数组,例如: {"用户名":"admin", "密码":"admin"}, ...
谢谢。
【问题讨论】: