首页 > 解决方案 > 仅当模型中有一个项目时才在 AgularJS 中选择一个选项

问题描述

我对 AngularJS 很陌生,我在实现这个下拉列表的逻辑时遇到了麻烦——我只想在模型中有一个成员时选择模型中的第一个成员。我不知道在其他情况下选择默认选项是否会使问题复杂化。

        <div class="form-group" style="margin-bottom:1rem">
        <label class="form-label">Member name</label>
        <small>
            <i>
                These are the members who have cover on the <u>date selected</u> above.
            </i>
        </small>
        <div class="input-group mt-1">
            <select ng-model="model.treatment.member" ng-change="ctrl.loadBenefits()" class="select" id="claimMemberName" required>
                <option value="" selected="selected">{{model.members.length ? 'Select member' : 'Enter date of visit first'}}</option>
                <option ng-repeat="m in model.members" value="{{m.memberId}}">{{m.memberName}}</option>

            </select>
        </div>
    </div>

执行此操作的最佳方法是 Select 上的 ng-init 还是在将模型填充到视图中的选项中调用的函数?

我已经习惯了 Razor 来操纵模型,老实说,任何帮助都会成为救命稻草,被表面上看起来很简单的东西难倒从来都不是一件有趣的事情!

标签: javascripthtmlangularjsmodel

解决方案


在我看来,这样做的地方是在您加载/设置您的成员列表之后。您可以添加一个 if 语句来检查长度并相应地设置模型。

if($scope.model.members.length == 1){
    $scope.model.treatment.member = $scope.model.members[0].memberId;
}

推荐阅读