Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS-在选择标记中使用ng repeat添加额外空白选项_Javascript_Select_Angularjs - Fatal编程技术网

Javascript AngularJS-在选择标记中使用ng repeat添加额外空白选项

Javascript AngularJS-在选择标记中使用ng repeat添加额外空白选项,javascript,select,angularjs,Javascript,Select,Angularjs,我有一个列表框,我正在创建一个选择,使用AngularJS ng repeat。列表框是正确创建的,当我选择其中一个项目并单击我的按钮时,我进入该函数并获得了所需的信息 我的html代码如下: <select size="6" ng-model="item" ng-options="s.name for s in itemlist"></select> <button class="btn tt-btn-blue" ng-model="singleModel" ng

我有一个列表框,我正在创建一个选择,使用AngularJS ng repeat。列表框是正确创建的,当我选择其中一个项目并单击我的按钮时,我进入该函数并获得了所需的信息

我的html代码如下:

<select size="6" ng-model="item" ng-options="s.name for s in itemlist"></select>
<button class="btn tt-btn-blue" ng-model="singleModel" ng-click="onLoadClicked(item.id)">Load</button>

负载
我的问题是,当列表框绘制时,它的顶部有一个空白项。当我在Chrome中运行时检查listbox时,我在控制台中得到以下输出:

<select size="6" ng-model="item" ng-options="s.name for s in itemlist" class="ng-pristine ng-valid">
<option value="?" selected="selected"></option>
<option value="0">Item 1</option>
<option value="1">Item 2</option>
<option value="2">Item 3</option>
<option value="3">Item 4</option>
<option value="4">Item 5</option>
<option value="5">Item 6</option>
</select>

项目1
项目2
项目3
项目4
项目5
项目6
我想知道如何摆脱ng repeat插入的第一个选项。我不想在列表框顶部看到空白。我意识到一个选项是将第一个实际选项(value=“0”)设置为所选项目,但我宁愿没有所选项目开始。

每当您在选择中看到
,这意味着您的
ng模型
被设置为一个不在
ng选项中的值。因此,如果您不想要空白选项,则需要确保<代码>项目<代码>被设置为您的代码>项目列表中的值。这可能与在控制器中安装以下组件一样简单:

$scope.item = $scope.itemlist[0];

这将给它一个初始值,然后angular将在此后为您更新它。

确保angular自动添加的选项被隐藏的最简单方法是ng if指令


经过长时间的研究,我找到了解决方案 请找到以下代码,它将为您工作

下面是HTML代码

<div class="col-xs-3" ng-controller="GetUserADDetails">
            <label>Region</label>
                <select id="DDLRegion" ng-model="selectedregion" class="form-control" ng-change="getBranched(selectedregion)">   
                                <option value="" >--Select Region--</option>                                 
                                <option ng-repeat="region in Regions" value="{{region.LookupID}}">{{region.LookupValue}}</option>
                  </select>
 </div>

}))

但是用户会认为他选择了什么,但事实并非如此。如果使用默认html,则选项列表中没有空白选项,如果设置大小>1,则不会选择任何内容。默认html是什么意思?我同意@Sebastian。通常,当页面加载时,你希望没有任何可见的东西,这会让用户在默认情况下选择某个东西。原来的问题是如何防止空白选项出现(即默认选择一些东西),这就回答了这个问题。如果你想让空白选项默认显示,那么不要为你的模型设置初始值。没有原来的问题仍然问“如何摆脱由角添加的空白选项”。您仍然没有摆脱空白选项,只是将模型设置为某个值。用户仍未选择的。我不明白为什么你的答案应该是正确的。或者您更愿意让stackoverflow为每个用户选择一个向下投票,直到他选择向上投票为止?不,你不。。。
var app = angular.module("UserMasterModel", [])
        .controller("GetUserADDetails", function ($scope, $http,$log) {
         $http({
                method: 'GET',
                url: '/UserMaster/GetAllRegion'
            })
            .then(function (response) {
                $scope.Regions = response.data;                        
                //$log.info(response);
            });