使用Angular.js在下拉列表中使用mulitple时出错

时间:2016-04-04 07:12:29

标签: javascript jquery angularjs

我有一个大问题。我需要从下拉列表中选择多个值,因为我使用bootstrap-multiselect.js得到以下错误。

angularjs.js:107 TypeError: a.forEach is not a function
    at u.writeValue (angularjs.js:273)
    at f.$render (angularjs.js:285)
    at Object.<anonymous> (angularjs.js:265)
    at n.$digest (angularjs.js:130)
    at n.$apply (angularjs.js:133)
    at HTMLInputElement.<anonymous> (angularjs.js:253)
    at HTMLInputElement.m.event.dispatch (jquery.js:4670)
    at HTMLInputElement.r.handle (jquery.js:4338)

这里我有以下按钮。当用户点击此按钮时,下拉列表会动态加载。

<input type='button' class='btn btn-xs btn-green' value='Send' ng-click="sendVoucherCode(code.voucher_code_id,code.expired_date,code.customer_name);" ng-hide="sendButton">  

当用户点击上面的按钮时,下面的下拉列表必须动态加载。

<select class="form-control"  id="lstFruits" ng-model="voucher_code" ng-options="code.name for code in listOfCode track by code.value " ng-change="removeBorder('lstFruits')"  multiple="multiple">
 </select>

下面给出了上述下拉列表的控制器端代码。

    $scope.sendVoucherCode=function(voucherid,expierdate,cname){
        $scope.listOfCode=[{
        name:'Select Voucher Code',
        value:''
    }]
    $scope.voucher_code=$scope.listOfCode[0];
        var code={'voucher_code_id':voucherid};
            $http({
                method:'POST',
                url:"php/getVoucherNotifyCode.php",
                data:code,
                headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
            }).then(function successCallback(response){
                console.log('voucher code',response.data);
                $scope.codeImage=response.data[0].image;
                $scope.arrCode=response.data[0].generated_code.split(',');
                for(var i=0;i<$scope.arrCode.length;i++){
                    var data={'name':$scope.arrCode[i],'value':$scope.arrCode[i]};
                    $scope.listOfCode.push(data);
                }
            },function errorCallback(response) {
            })
    }
$('#lstFruits').multiselect({
           includeSelectAllOption: true
      });

这里调用上面的函数时出现错误,下拉字段没有打开。我也需要当用户点击发送按钮时动态值将加载到下拉列表中,用户可以获取一个/ mupltiple值,这些值将再次收集在控制器端函数内。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

好像voucher_code没有与数组绑定。如果multiselect与对象绑定,则会出现此错误。