ng-option不选择保存的值

时间:2016-12-06 15:36:14

标签: angularjs

首先,我对此非常新,所以如果这是一个简单的问题我会提前道歉。我昨天整天搜索都没有找到任何结果。我有以下声明

<select id="mks" class="form-control"
        ng-options="mkp.MKSProjectID as mkp.MKSProjectName for mkp in MKSProjects"
        ng-model="sel_dvp.MKSProjectID"></select>

我也试过

<select id="mks" class="form-control"
        ng-options="mkp.MKSProjectID for mkp in MKSProjects"
        ng-model="sel_dvp.MKSProjectID"></select>

当我选择该选项并将其保存到Sql数据库时,哪个工作正常。当我检索数据时,未设置该值。为了确保它带来了正确的值,我执行了以下操作。

<label class="col-sm-2 control-label">
  {{sel_dvp.MKSProjectID}}
</label>

并显示正确的值。所以我不确定要填充正确的值需要做些什么。 谢谢你的帮助。

之后j-mean建议那些html如何用于select而第二张图片显示seldvp_MKSProjectID select

的值

2 个答案:

答案 0 :(得分:0)

我认为您的问题是您的模型是一个字符串,您的选项是包含该字符串的对象。试试这个:

<select id="mks" ng-options="mkp.MKSProjectID  for mkp in MKSProjects" ng-model="sel_dvp" ng-init="sel_dvp.MKSProjectID=MKSProjects[0]" class="form-control"></select>

答案 1 :(得分:0)

var app = angular.module('defaultValueSelect', []);
app.controller('ExampleController', ['$scope', function($scope) {
    $scope.MKSProjects =[{MKSProjectID:1,MKSProjectName :"proj1"},
                        {MKSProjectID:3,MKSProjectName:"proj3"},
                        {MKSProjectID:5,MKSProjectName :"proj5"},
                        {MKSProjectID:23,MKSProjectName :"proj23"}] 
    $scope.sel_dvp ={}
    $scope.sel_dvp.MKSProjectID="3";
   //$scope.sel_dvp.MKSProjectID=3;//This will not work
    
 }]);
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Example</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.9/angular.js"></script>
</head>
<body ng-app="defaultValueSelect">
    <div ng-controller="ExampleController">
        <form name="myForm">
            <label for="mySelect">Select Project:</label>


            <select id="mks" class="form-control" ng-model="sel_dvp.MKSProjectID">
                <option ng-repeat="mkp in MKSProjects track by mkp.MKSProjectID" value="{{mkp.MKSProjectID}}">{{mkp.MKSProjectName }}</option>
            </select>
        </form>
        <hr>
        <tt>option = {{sel_dvp.MKSProjectID}}</tt><br />
    </div>
</body>
</html>

请尝试以下代码

<select id="mks" class="form-control" ng-model="sel_dvp.MKSProjectID"> 
   <option ng-repeat="mkp in MKSProjects track by mkp.MKSProjectID" value="{{mkp.MKSProjectID}}">{{mkp.MKSProjectName }}</option> 
</select>

希望这可以帮助您解决问题