首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过给定的select选项值执行ng重复

如何通过给定的select选项值执行ng重复
EN

Stack Overflow用户
提问于 2016-06-14 18:25:51
回答 1查看 35关注 0票数 0

所以我的问题如下,我有这个HTML

代码语言:javascript
复制
        <div class="col-sm-4">
            <p><span>Teste A/B:</span></p>
            <label class="label-radio">
                <input type="radio" class="radio" name="ab-test" value="true" ng-model="isTestAvailable"> Sim </label>
            <label class="label-radio">
                <input type="radio" class="radio" name="ab-test" value="false" ng-model="isTestAvailable"> Não </label>
        </div>
        <div class="col-sm-4">
            <p><span>Nº de testes:</span></p>
            <select class="form-control" ng-model="tests.number">
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
            </select>
        </div>
    </div>

我正在尝试做的是,当用户将select更改为另一个值时,我将通过ng-repeat生成给定数量的测试输入

代码语言:javascript
复制
    <div ng-if="isTestAvailable == 'true'" ng-repeat="test in tests">
        <hr>
        <div class="row">
            <div class="col-sm-12">
                <h3>Test {{$index}}</h3>
                <p><span>Specifications:</span></p>
                <textarea id="teste1" class="form-control" onkeyup="resizeTextarea('test1')" data-resizable="true"></textarea>
            </div>
        </div>
        <hr>
    </div>

我的控制器包含此$watch

代码语言:javascript
复制
$scope.$watch("tests.number", function(newVal, oldVal) {
    $scope.tests = [{}];
    var i = parseInt(newVal);
    for(var x = i; x <= newVal; x++) {
        $scope.tests.push({});
    }
});

当值改变时,我试图使用它来改变测试对象的数量,我也尝试使用一个简单的变量,并改为执行ng-repeat("i in tests.number"),但这不起作用,我该如何做才能使ng-repeat与我给定的select选项值一起工作呢?

EN

回答 1

Stack Overflow用户

发布于 2016-06-14 18:36:31

我建议您使用另一个变量而不是tests.number,因为您在您的观察器中覆盖了它。请检查这个柱塞器:https://plnkr.co/edit/XnV9MKjIYe1YOL4hR6Le?p=preview我使用另一个变量并绑定ng-change而不是watch

代码语言:javascript
复制
<select class="form-control" ng-model="testNumber" ng-change="changeTestNumber()">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37809382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档