簡體   English   中英

如何在data-ng-options創建的下拉列表中設置默認選定選項

[英]How to set the default selected option in a dropdown being created by data-ng-options

我有一個正在設置的選擇下拉列表和通過'data-ng-options'創建的選項

這是HTML:

<select class="form-control" id="playListOpt" ng-model="playListItem.selectedObject" ng-change="changePlaylist(playListItem.selectedObject)" ng-required="true"
              data-ng-options="playListItem as playListItem.name for playListItem in playListDataForActivity">
        <option value="" translate="PLAYLIST_CREATE_NEW"></option>
      </select>

這會在編譯的html中生成以下輸出:

<select class="form-control ng-pristine ng-valid ng-valid-required ng-touched" id="playListOpt" ng-model="playListItem.selectedObject" ng-change="changePlaylist(playListItem.selectedObject)" ng-required="true" data-ng-options="playListItem as playListItem.name for playListItem in playListDataForActivity" required="required" aria-required="false" aria-invalid="false" style=""><option value="" translate="PLAYLIST_CREATE_NEW" class="" selected="selected">Create New Playlist</option><option label="Dev Playlist 1" value="object:2670">Dev Playlist 1</option><option label="Dev Playlist 2 (Favorite)" value="object:2671">Dev Playlist 2 (Favorite)</option></select>

目前,“創建新播放列表”選項始終是所選選項。 但是我想將所選的選項設置為設置為'isDefault'的選項,我可以通過playListItem使用該選項。 我覺得我的問題是不了解如何設置selectedObject,因為選項的值似乎是由代碼生成的?

這是控制器中的代碼,如果項目設置為'isDefault',我正在設置selectedObject。 這不起作用。

if (response && response.status == 200) {
              $scope.playListDataForActivity = response.data.playlists;
              $scope.totalOwnedPlaylistCount = response.data.totalOwnedPlaylistCount;

              for (var i = 0; $scope.playListDataForActivity[i]; i++) {
                if ($scope.playListDataForActivity[i].isDefault)
                  $scope.playListItem.selectedObject = $scope.playListDataForActivity[i];
                }
          }

我需要做些什么才能解決這個問題?

更新了上面的代碼和下面的新問題

在@Lex下面建議的更改之后,“創建新播放列表”和IsDefault選項都在HTML中被標記為已選中

<select class="form-control ng-pristine ng-valid ng-valid-required ng-touched" id="playListOpt" ng-model="playListItem.selectedObject" ng-change="changePlaylist(playListItem.selectedObject)" ng-required="true" data-ng-options="playListItem as playListItem.name for playListItem in playListDataForActivity" required="required" aria-required="false" aria-invalid="false" style=""><option value="" translate="PLAYLIST_CREATE_NEW" class="" *selected="selected"*>Create New Playlist</option><option label="Dev Playlist 1" value="object:2996">Dev Playlist 1</option><option label="Dev Playlist 2 (Favorite)" value="object:2995" *selected="selected"*>Dev Playlist 2 (Favorite)</option><option label="Dev Playlist 3" value="object:2997">Dev Playlist 3</option></select>

有什么我需要清楚的,或者是否需要添加“選擇”中的某些內容?

對於更新的代碼和新問題,如果您將特定值設置為默認選擇值,則不需要使用<option value="" translate="PLAYLIST_CREATE_NEW"></option>作為data-ng-options。 通過刪除選項,它將得到解決。 希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM