如何获取多个selectbox值并推入字符串数组

时间:2015-09-10 20:04:30

标签: javascript jquery arrays json angularjs

我正在使用多选框。我需要能够添加和删除值并创建逗号分隔的字符串数组。

我做了一个傻瓜。 plunker

 var msaskArray = [];
    $scope.$watch("MSASK", function (newValue, oldValue) {
        if (newValue != null) {
            msaskArray.push(newValue)
        }
        console.log(JSON.stringify(msaskArray))
    });

我附上了我目前得到的结果的截图。 pic

我需要的结果应该是这样的

  

[" 9,14,18"]

3 个答案:

答案 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>

Plunkr Here