我有一个大问题。我需要从下拉列表中选择多个值,因为我使用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值,这些值将再次收集在控制器端函数内。请帮我解决这个问题。
答案 0 :(得分:0)
好像voucher_code没有与数组绑定。如果multiselect与对象绑定,则会出现此错误。