如何传递逗号分隔字符串以选择 Angular js 中的选项

How to pass a Comma seperated String to select options in Angular js

本文关键字:js Angular 选项 选择 何传递 分隔 字符串      更新时间:2023-09-26

我有这个Json:

        {
                "field_id": "4otBG",
                "label": "Fullness",
                "type": "dropdown",
                "props": {
                    "req": "true",
                    "options": "Empty-ish, Plenty of Seats, Few Seats, Standing, Packed Like Sardines"
                }
            }

如何将选项传递给选择选项,因为它是以逗号分隔的字符串请帮助我。

假设你在$scope.data中得到了你的数据

$scope.optionsplit =  $scope.data.props.options.split(',');

在视野中

<select name="yourinput">
   <option ng-repeat="o in optionsplit" value="{{o}}">{{o}}</option>
<select>

或者使用 ng 选项

<select ng-options="o for o in optionsplit">
</select>

或者你可以为它做一个过滤器

filter('commaspliter', function() {
    return function(input) {
    return input.split(',');
    } 
  });

在视野中

<select name="yourinput">
<option ng-repeat="o in data.props.options | commaspliter"></option>
 </select>

角度的方式是使用过滤器。请注意,您不应该使用$前缀,但由于这是一个通用过滤器,我认为这是合适的。随意重命名。

.filter('$split', function() {
  return function(val, splitter) {
    if (!splitter) { splitter = ','; }
    return (val && val.length) ? val.split(splitter) : [];
  }
});

像这样使用它。

<select ng-options="val for val in props.options | $split" />

如果数据由不同字符分隔,您甚至可以传递额外的参数。

<select ng-options="val for val in props.options | $split:'|'" />