Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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 ng选择不工作_Javascript_Angularjs - Fatal编程技术网

Javascript ng选择不工作

Javascript ng选择不工作,javascript,angularjs,Javascript,Angularjs,我的问题是ng selected设置为true,但该选项未被选中 这是我的控制器代码 .controller("PendingInvoiceCtrl", function($scope, $location, safeApply, dataService) { var userData = dataService.data(); var mauth_token = userData.mauthToken; var mauth_acntId = userData.thisA

我的问题是
ng selected
设置为
true
,但该选项未被选中

这是我的控制器代码

.controller("PendingInvoiceCtrl", function($scope, $location, safeApply, dataService) {
    var userData = dataService.data();
    var mauth_token = userData.mauthToken;
    var mauth_acntId = userData.thisApartment.account;
    var apt_id = userData.thisApartment.id;

    $scope.house_list = userData.thisApartment.house;
    $scope.selectedHouseId = $location.search().houseId;

    console.log($scope.selectedHouseId);
});
这是我的HTML代码

 <select ng-model="selectedHouseId">
      <option ng-repeat="house in house_list" ng-selected="{{ house.house_id == selectedHouseId }}" value="{{ house.house_id }}">
           {{ house.house_display_name }}
      </option>
 </select>

ng-
属性不需要额外的花括号。尝试:

<option ng-repeat="house in house_list" ng-selected="house.house_id == selectedHouseId" ng-value="house.house_id">
    {{house.house_display_name}}
</option>

然后,您无需手动担心选项的
selected
属性,因为它将根据模型的值选择一个属性。

您的选项标签应该是:

<option ng-repeat="house in house_list" ng-selected="house.house_id == selectedHouseId" ng-value="house.house_id">

我建议您使用角度方向ng选项


关联的plunker:

如果您同时使用ng Selected和ng Model,则从未真正指定。从某种程度上看,ng模型的优先级高于选择的ng。

它正在工作,但仍然可以在html上获得一个额外的选项,我可以使用它来隐藏,但这是一种黑客行为,它需要正确的解决方案help@SiddharthPandey你这是什么意思?您可以检查
house_list.length
是否与选项数匹配吗?length不是一个问题。它不知道为什么生成相同的参数。您需要以不同的方式初始化ng模型(selectedHouseId),因为它的初始值并不总是与任何Ngoption相等,所以它会添加自己的选项(通常val为?或0)。看起来是您从
数据服务
接收的数据。确保返回正确的数据。我也面临同样的问题!在选择标记中使用ng模型,在选项标记中使用ng选择(使用ng重复)。删除了ng模型,一切正常!谢谢那么,如何连接所选的值?
<select
    ng-model="selectedHouseId"
    ng-options="house.house_id as house.house_display_name for house in house_list">
</select>
<option ng-repeat="house in house_list" ng-selected="house.house_id == selectedHouseId" ng-value="house.house_id">