gpt4 book ai didi

javascript - AngularJS 多选复选框保存在逗号分隔的字符串中

转载 作者:数据小太阳 更新时间:2023-10-29 05:38:19 24 4
gpt4 key购买 nike

我想从 angularJS 中选定的复选框项目中获取逗号分隔的字符串。同时,当从数据库中检索逗号分隔的字符串时,我希望相应地选中复选框。

<div class="col-md-5">
<input type="checkbox" ng-model="Drawings.CarMDrawings" ng-change="Update(Drawings)"> Car
<br />

<input type="checkbox" ng-model="Drawings.SignalMDrawings" ng-change="Update(Drawings)"> Signal
<br />

<input type="checkbox" ng-model="Drawings.DoorMDawings" ng-change="Update(Drawings)"> Door
<br />

</div>

我用 Plunker 以非常简单的方式解决了这个问题 http://plnkr.co/edit/YYd5bN5Chmyjt6gSH1Bw?p=preview

 $scope.Update = function(Drawings) {
var str = "";
if (Drawings.CarMDrawings) {
str = "Car";
}
if (Drawings.SignalMDrawings) {
str = str + ",Signal";
}
if (Drawings.DoorMDawings) {
str = str + ",Door";
}
if (str.charAt(0) === ',') {
str = str.substr(1);
}
$scope.data = str;
}

$scope.revUpdate = function(data) {
var str = data;
$scope.Drawings = {};
if (str.indexOf('Car') != -1) {

$scope.Drawings.CarMDrawings = true;
}
if (str.indexOf('Signal') != -1) {

$scope.Drawings.SignalMDrawings = true;
}
if (str.indexOf('Door') != -1) {

$scope.Drawings.DoorMDawings = true;
}

但是当我有很多类似的项目时,它就没有帮助了。任何人都可以帮助我构建一个指令或扩展,以便我可以经常重用它们。附言我不想要对象数组,而是简单的逗号分隔字符串项。

最佳答案

如果你使用 'indexOf',你会得到很多垃圾项目,其中包括你想要查找的文本。

所以我认为这是获得更精确值的最接近的方法。

if (new RegExp("\\b"+"Car"+"\\b").test(str)) {
$scope.Drawings.CarMDrawings = true;
}

var str="test ,Car ,test"; //true
var str="test, Car, test"; //true
var str="test Cartest"; //false
var str="testCar test"; //false

也许这是一个很晚的答案,但我希望这符合您的意图,

并且对其他会看这个的人有帮助。 :)

关于javascript - AngularJS 多选复选框保存在逗号分隔的字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30975573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com