Angularjs将字符串与多个复选框连接起来

时间:2016-02-03 20:10:07

标签: javascript html angularjs checkbox

当我检查多个复选框时,我正在尝试刷新并连接一个字符串。

例如,当选中'apple''banana'时,$scope.strin g应为='ab',然后取消选中'banana'时,{{1}应留下$scope.string

我做了什么连接,但$ scope.string不会删除旧值,它仍然是'a'

这是我对JsFiddle的尝试。

您可以看到选中所有复选框后,它会给我='aba'

由于

4 个答案:

答案 0 :(得分:3)

我已更新您的代码:http://jsfiddle.net/d3ruexuv/1/

文本无法清除,因为您只是将项目附加到当前值,而不是完全创建新字符串。您现在可以看到始终首先创建一个空字符串:

var newText = "";

和选定的项目连接到

答案 1 :(得分:2)

每次$ scope.watch触发

时,您都需要刷新$ scope.text属性
VideoInfo = mediaFile.Path;
ImageSource = ImageSource.FromStream(() => mediaFile.Source);

// add this line
imageData = ReadStream(mediaFile.Source);

答案 2 :(得分:1)

只需在循环前添加$scope.text = ""; for(var i = 0; i < $scope.items.length; i++) { if($scope.items[i].selected === true){ $scope.text += $scope.items[i].prefix; } }

这是fixed code

+=

这种情况正在发生,因为你只对字符串"",这意味着它只会增长。你永远不会将它重置回PopulateContactLabels(空字符串)。 如果您在每次更新之前都这样做,那么结果将是正确的。

答案 3 :(得分:0)

这种情况正在发生,因为你的循环中有+ =,但是在进入循环之前你没有清除它。在循环之前清除变量并且你已经完成了设置。