AngularJS选择标签验证

时间:2015-10-27 10:23:13

标签: angularjs

我在这里遗漏了一些非常简单的东西,我的控制器中有一个数组,如下所示

    $scope.roles = [
        {id: 0, label: 'Choose a Role'},
        {id: 1, label: 'Administrator'},
        {id: 2, label: 'Super User'}
    ];

以下是我在视图中的选择标记

<select ng-options="role.id as role.label for role in roles" ng-model="myForm.role" ng-required="true"> 
</select>

如何确认用户选择了AdministratorSuper User而非Choose a Role

3 个答案:

答案 0 :(得分:0)

您可以使用HTML:

<div ng-if="myForm.role == 'Chose a role">
Your code when 'Chose a role;
</div>

JS:

if ($scope.myForm.role == 'Chose a role) {
   Your code here
}

答案 1 :(得分:0)

编辑2: https://jsfiddle.net/3kL9rmp8/

编辑:我让你成了小提琴:https://jsfiddle.net/fgpg9zvn/

您可以这样添加选项:

<select ng-options="role.id as role.label for role in roles" 
        ng-model="myForm.role"
        ng-required="true">
       <option value="" disabled selected style="display: none;"> Chose a role </option>
</select>

答案 2 :(得分:0)

尝试这个简洁明了的解决方案。 使用此HTML可以选择元素。

<强> HTML:

<select ng-model="myForm.role" 
        ng-options="role.id as role.label for role in roles"
        ng-change="fillTheDDL(role.id, role.label)"> 

  <option value="">Chose a role</option>

</select> 

使用此JS获取所需的功能。

<强> JS:

$scope.fillTheDDL= function (ID, Label) {
    if (Label != "Choose a Role") {
     // Your favorite code here       
    }
    else {
        // You don't wanna use it
    }
};