我正在使用多选框。我需要能够添加和删除值并创建逗号分隔的字符串数组。
我做了一个傻瓜。 plunker
var msaskArray = [];
$scope.$watch("MSASK", function (newValue, oldValue) {
if (newValue != null) {
msaskArray.push(newValue)
}
console.log(JSON.stringify(msaskArray))
});
我需要的结果应该是这样的
[" 9,14,18"]
答案 0 :(得分:1)
试试这个,看起来你需要清除第一个。:
var msaskArray = [];
$scope.$watch("MSASK", function (newValue, oldValue) {
if (newValue != null) {
msaskArray = [];
msaskArray.push(newValue)
}
console.log(JSON.stringify(msaskArray))
});
答案 1 :(得分:1)
调试你的javascript并查看你的newValue看起来它已经是一个数组了。而且它已经做了你想做的事。你现在有一个二维数组。
答案 2 :(得分:1)
您错过了plunkr中的multiple
属性,允许您选择多个选项。
根本不需要将$watch
放在MASK
变量上。您可以在需要时轻松使用$scope.MASK
。还可以使用ng-change
指令在选择框的更改事件上获取触发范围函数。
<强>标记强>
<select ng-options="m.MSASK as m.Market_Name for m in markets"
ng-model="MSASK" multiple></select>