Select2函数不适用于Angular JS动态形式

时间:2018-09-18 05:20:51

标签: javascript angularjs jquery-select2

嗨,我正在从事angular js项目的每个人。但这是一个小问题,我正在为多个字段使用动态表单,并使用select2函数进行搜索,但是第一次使用它就可以了,但是在创建新字段之后它就不能用于搜索了,请您帮帮我吗?

这是我用于制作动态字段的控制器代码

$scope.choices = [{id: 1,purchaser_account:'',price:0,weight:0}];
$scope.addNewChoice = function() {
var newItemNo = $scope.choices.length+1;
   $scope.choices.push({'id':newItemNo,purchaser_account:'',price:0,weight:0});
};

这是观看代码

<div  data-ng-repeat="choice in choices">
                        <div class="row">                           
                          <div class="col-md-3">
                            <div class="form-group label-floating">
                                <label class="control-label urdu-lable"> خریدار کھاتہ</label>
                                <select ng-model="choice.purchaser_account" name="account{{choice.id}}" class="form-control select2" required>
                                <option ng-repeat="x in purchaserAccount" value="{{x.id}}">{{x.name}}</option>
                                </select>
                            </div>
                         </div>
                            <div class="col-md-2">
                                <div class="form-group label-floating">
                                    <label class="control-label urdu-lable" > وزن</label>
                                    <input type="text" id="weight" ng-model="choice.weight"  class="form-control" required="required">
                                </div>
                            </div>
                            <div class="col-md-2">
                                <div class="form-group label-floating">
                                    <label class="control-label urdu-lable"> ریٹ</label>
                                    <input type="text" id="price" ng-model="choice.price"  class="form-control" required="required">
                                </div>
                            </div>

                            <div class="col-md-2">
                                <div class="form-group label-floating">
                                    <label class="control-label urdu-lable"> ٹوٹل</label>
                                    <div>{{((choice.price*(choice.weight/40))+((choice.price*(choice.weight/40))*.016)).toFixed(2)}}
                                    </div>
                                </div>
                            </div>


                            <div class="col-md-1">
                                <div class="form-group label-floating">
                                    <button class="remove" ng-show="$last" ng-click="removeChoice()">-</button>
                                </div>
                            </div>
                        </div>                    
                    </div>
<button class="btn btn-info" ng-click="addNewChoice()">Add fields</button>    

您能帮我解决这个问题吗enter image description here

1 个答案:

答案 0 :(得分:1)

初始化角度添加功能上的选择。

$scope.choices = [{id: 1,purchaser_account:'',price:0,weight:0}];
$scope.addNewChoice = function() {
var newItemNo = $scope.choices.length+1;
   $scope.choices.push({'id':newItemNo,purchaser_account:'',price:0,weight:0});
   $(".select2").select2();
};

将其初始化为在选择数组中添加第一个选项的位置。