javascript - 服务器提供的下拉列表中的 Angular 默认值

标签 javascript angularjs

我有一个美国各州的下拉列表,它是通过调用我们的 Web API 填充的。我有一个填写用户详细信息的编辑页面,我需要将该下拉列表绑定(bind)到用户信息中的状态。我确信这与 ng-options 有关,但我不知道如何实现它。

这是我的下拉列表 HTML:

<select data-ng-model="form.vchOfficeStateVchID" ng-options="s as s.StateVchID for s in userdetails.vchOfficeStateVchID" style="height:25px">
    <option value="">--Select State--</option>
    <option ng-repeat="state in states" value="state.StateVchID">{{state.StateVchID}}</option>
</select>

我的 Controller 中填充下拉列表的函数是:

getStates();
function getStates() {
    operatorService.getallstates()
    .success(function (data) {
        $scope.states = data;
    });
};

它返回一个数组,其中状态缩写作为其键“StateVchID”(我没有创建此数据库)。

用户信息通过以下函数返回到 Controller 中:

$scope.showDetails = function (user) {
    $scope.noUser = false;
    var userid = user.UserID;
    operatorService.getuserdetails(userid)
    .success(function (data) {
        $scope.userdetails = data;
        $scope.form.vchOfficeStateVchID = userdetails.vchOfficeStateVchID;
        $scope.form.vchOfficeCountryVchID = userdetails.vchOfficeCountryVchID;
    });
    $scope.viewUser = true;
};

在用户详细信息中,状态缩写保存在 vchOfficeStateVchID 字段中。

如何让下拉列表显示用户的正确状态?基本上,我需要 state.StateVchID = userdetails.vchOfficeStateVchID。

非常感谢任何帮助!

最佳答案

看看this示例:

HTML

<div ng-app="myApp" ng-controller="myController">
    <select name="vchOfficeStateVchID" ng-model="form.vchOfficeStateVchID" ng-options="s.StateVchID as s.Name for s in states">
      <option value="">--Select State--</option>
    </select>
    <br/>
    <div>
      <h3>
        Selected ID:
      </h3>
      {{form.vchOfficeStateVchID}}
    </div>
</div>

JavaScript

var app = angular.module("myApp", []);

app.controller("myController", ["$scope", function($scope){
    $scope.userdetails = {
      vchOfficeStateVchID: 3
    }

    $scope.form = {};

    $scope.states = [
      {
        Name: "New York",
        StateVchID: 1
      },
      {
        Name: "Texas",
        StateVchID: 2
      },
      {
        Name: "Las Vegas",
        StateVchID: 3
      },
      {
        Name: "Hawaii",
        StateVchID: 4
      }
    ];

    $scope.form.vchOfficeStateVchID = $scope.userdetails.vchOfficeStateVchID;
}]);

关于javascript - 服务器提供的下拉列表中的 Angular 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34211737/

相关文章:

android - 从 phonegap 中的 android 硬件后退按钮退出应用程序

javascript - AngularJs 表中的 ng-if 内的 ng-repeat

jquery - 在AngularJS中动态更改 Accordion 菜单的标题

javascript - ReactJS本地主机Ajax调用: No 'Access-Control-Allow-Origin' header

javascript - 比较 Javascript 中的相同数组

javascript - 错误 : WebGL warning: vertexAttribPointer: -1 is not a valid `index`

javascript - 使用 Javascript 生成 HTML,然后用 Angular js 解释它

javascript - JavaScript 中的 Promise 无法正确执行

javascript - 在单元测试中观察 AngularJS 属性时,newValue 始终等于 oldValue

javascript - Cordova 在输入焦点上禁用收缩 View