繁体   English   中英

使用Angular.js在下拉列表中使用多项功能时出错

[英]Getting error while using mulitple in drop down list using Angular.js

我有一个大问题。我需要从下拉列表中选择多个值,为此我使用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
      });

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM