下拉列表中未显示角度选项

时间:2016-03-28 20:01:17

标签: javascript angularjs

我正在尝试填充下拉列表,但我无法显示选项,我无法弄清楚原因。我用控制器填充控制器中的选项:

--exclude

然后在我的HTML中这样:

 var qOptions = [];
 if (value.vchChoice1 != '') {
    qOptions.push(value.vchChoice1);
  };
 if (value.vchChoice2 != '') {
    qOptions.push(value.vchChoice2);
  };
if (value.vchChoice3 != '') {
  qOptions.push(value.vchChoice3);
 };
if (value.vchChoice4 != '') {
  qOptions.push(value.vchChoice4);
  };
$scope.followingquestions[key].qOptions = qOptions;
   qOptions = [];

以下是整个HTML代码,以防有些内容导致选项出现然后消失:

<select ng-model="f.vchShortAnswer">
   <option value="">--Please Select--</option>
   <option ng-repeat="z in f.qOptions" value="{{z}}">{{z}}</option>
</select>

我知道f.qOptions中有值,我可以使用带有div标签的重复显示它们,但我不能让它们显示在下拉列表中。

我也尝试过以下但是仍然没有显示:

            <div ng-repeat="f in followingquestions">
            <div ng-switch="f.ClusterTypeID">
                <div ng-switch-when="1048576">
                    <div class="row row-relative">
                        <div class="col-md-12">
                            <div ng-bind-html="f.vchQuestionText | trustedhtml"></div><br />
                            <div>
                                <table>
                                    <thead style="background-color:#b1d6f1">
                                        <tr>
                                            <th>{{headers.vchTextElementOneHeader}}</th>
                                            <th>{{headers.vchTextElementTwoHeader}}</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr ng-repeat="answ in headers.Answers">
                                            <td>{{answ.vchTextElementOne}}</td>
                                            <td>{{answ.vchTextElementTwo}}</td>
                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        </div>
                    </div><br />
                </div>
                <div ng-switch-when="1">

                    <div class="row row-relative">
                        <div class="col-md-9">
                            <span ng-bind-html="f.vchQuestionText | trustedhtml"></span>&nbsp;<span ng-if="f.vchToolTip != null" style="cursor:pointer"><i class="glyphicon glyphicon-info-sign" tooltip="{{f.vchToolTip}}"></i></span>
                        </div>
                        <div class="col-md-3 col-border" ng-switch="f.vchAnswerTableName">
                            <div class="col-border-padding">
                                <div ng-switch="f.AnswerTypeID">
                                    <div ng-switch-when="1">
                                        <input type="radio" ng-model="f.vchShortAnswer" value="Yes" style="width:20px" />&nbsp;Yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" data-ng-model="f.vchShortAnswer" value="No" style="width:20px" />&nbsp;No
                                    </div>
                                    <div ng-switch-when="5">
                                        @*<select data-ng-model="f.vchShortAnswer" ng-options="qO as qO for qO in f.qOptions" class="form-control">*@
                                        <select ng-options="z as z for z in f.qOptions" ng-model="f.vchShortAnswer" class="form-control">
                                            <option value="">--Please Select--</option>
                                        </select>
                                    </div>
                                    <div ng-switch-when="8">
                                        <textarea ng-model="f.vchLongAnswer" style="width:100%"></textarea>
                                    </div>
                                    <div ng-switch-when="10">
                                        <input type="text" ng-model="f.dteDateAnswer" />
                                    </div>
                                    <div ng-switch-when="9">
                                        <input type="text" ng-model="f.decNumericAnswer" />
                                    </div>
                                </div>
                            </div>


                        </div>
                    </div>
                    <div ng-repeat="child in f.Dependents">
                        <div class="row row-relative">
                            <div class="col-md-9">
                                <span ng-bind-html="child.vchQuestionText | trustedhtml"></span>&nbsp;<span ng-if="child.vchToolTip != null style=" cursor:pointer""><i class="glyphicon glyphicon-info-sign" tooltip="{{child.vchToolTip}}"></i></span>
                            </div>
                            <div class="col-md-3 col-border" ng-switch="child.vchAnswerTableName">
                                <div class="col-border-padding">
                                    <div ng-switch="child.AnswerTypeID">
                                        <div ng-switch-when="8">
                                            <div ng-switch="child.bitDependentOnParent">
                                                <div ng-switch-when="true">
                                                    <div ng-if="p.vchShortAnswer == child.vchParentAnswerMakesEnabled">
                                                        <textarea ng-model="child.vchLongAnswer" style="width:100%"></textarea>
                                                    </div>
                                                    <div ng-else>
                                                        <textarea ng-model="child.vchLongAnswer" style="width:100%" disabled></textarea>
                                                    </div>
                                                </div>
                                                <div ng-switch-when="false">
                                                    <textarea ng-model="child.vchLongAnswer" style="width:100%"></textarea>
                                                </div>
                                            </div>
                                        </div>
                                        <div ng-switch-when="1">
                                            <input type="radio" data-ng-model="form.child.vchShortAnswer" value="Yes" style="width:20px" />&nbsp;Yes&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" data-ng-model="form.child.vchShortAnswer" value="No" style="width:20px" />&nbsp;No
                                        </div>

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

更奇怪的是...数值短暂显示,然后消失了!

我认为我在这里缺少一些简单的东西,因为我在选择选项列表中显示了其他列表,就像我上面尝试的那样。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

 $scope.qOptions = [];
 if (value.vchChoice1 != '') {
     $scope.qOptions.push(value.vchChoice1);
 };
 if (value.vchChoice2 != '') {
     $scope.qOptions.push(value.vchChoice2);
 };
 if (value.vchChoice3 != '') {
     $scope.qOptions.push(value.vchChoice3);
 };
 if (value.vchChoice4 != '') {
     $scope.qOptions.push(value.vchChoice4);
 };
 $scope.followingquestions[key].qOptions = $scope.qOptions;


 <select ng-options="z as z for z in f.qOptions" ng-model="f.vchShortAnswer">
   <option value="">--Please Select--</option>
 </select>