在下拉列表中清空第一个元素

Mar*_*sNV 36 javascript angularjs

我是AngularJS的初学者,目前我正在使用Django的Web应用程序,我可以在其中使用AngularJS作为前端部分.我的问题是,使用范围内的对象填充的下拉列表始终以空白元素开头(如果我从列表中选择一个,则问题就消失了).这会产生问题,因为如果用户通常不选择任何POST请求,它将不再起作用.我想知道如何使用预选值或类似的东西.这是我的代码的一部分:

选择标签:

<select id="sel" class="input-block-level" ng-model="list_category">
            <option ng-repeat="obj in list_categories.data" value="{{obj.id}}">{{obj.name}}</option>
            <option value="Other">Other</option>
        </select>
Run Code Online (Sandbox Code Playgroud)

$ scope.list_categories:

var listcategoryPromise = ListCategory.get();
    listcategoryPromise.then(function(response) {
        $scope.list_categories = {
            meta : response.data.meta,
            data : response.data.objects
        };
    });
Run Code Online (Sandbox Code Playgroud)

bml*_*ite 59

使用该指令ng-optionsvalue从"其他"选项中删除,如下所示:

<select id="sel" class="input-block-level" ng-model="list_category" ng-options="obj.id as obj.name for obj in list_categories.data">    
    <option value="">Other</option>
</select>
Run Code Online (Sandbox Code Playgroud)

这可确保if list_category为空(未选择任何条目),则选择"其他"选项(默认情况下).

jsFiddle:http://jsfiddle.net/bmleite/gkJve/

  • 那不是问题.将`ng-show`更改为`ng-show ="!list_category"`(仅在未选择`list_category`时显示输入)小提琴:http://jsfiddle.net/bmleite/gkJve/2/ (2认同)

Aja*_*wal 5

找到下面的工作示例,您应该避免使用选项进行ng-repeat,因此请参阅下面的示例代码

<body ng-controller="testcontroller">
         <select ng-model="item" ng-options="item.ID as item.Title for item in items">
         </select>
            <span>{{item}}</span>
    </body>

App.controller('testcontroller', function ($scope) {
    $scope.item = '000001';
    $scope.items = [
      { ID: '000001', Title: 'Chicago' },
      { ID: '000002', Title: 'New York' },
      { ID: '000003', Title: 'Washington' }
    ];
});
Run Code Online (Sandbox Code Playgroud)