angularjs – 使用ng-options添加空格

如何在< select>中添加前导空格使用Angular ng-options的选项?
<div ng-controller="MyCntrl">
    Static values (works)
    <select>
        <option value="black">black</option>
        <option value="white">&nbsp;white</option>
        <option value="red">&nbsp;&nbsp;red</option>
        <option value="blue">&nbsp;&nbsp;&nbsp;blue</option>
        <option value="yellow">&nbsp;&nbsp;&nbsp;&nbsp;yellow</option>
    </select>

    Values from JS using angular (only the first-default works)
    <select ng-model="color" ng-options="c.name for c in colors">
        <option value="">&nbsp;&nbsp;&nbsp;default</option>
    </select>
</div>

JS:

angular.module("myApp",[]).
    controller("MyCntrl",['$scope',function ($scope) {
        $scope.colors = [{
            name: 'black',shade: 'dark'
        },{
            name: '&nbsp;white',shade: 'light'
        },{
            name: '&nbsp;&nbsp;red',{
            name: '&nbsp;&nbsp;&nbsp;blue',{
            name: '       yellow',// spaces here
            shade: 'light'
        }];
    }]);
您可以格式化选项文本:
<select ng-model="color" ng-options="('&nbsp;'+c.name) for c in colors">
    <option value="">&nbsp;default</option>
</select>

编辑

如果你想生成& nbsp;动态它有点复杂.假设你的控制器中有一个功能,它知道有多少& nbsp;你想添加,然后你可以像这样编写这个函数

$scope.addSpaces= function(color){
    var count = 1;// put your logic here
    var result = "";
    for(var i=0; i<count; i++){
        result+= String.fromCharCode(160);
    }
    return result;
};

在您的HTML中它将是:

<select ng-model="color" ng-options="(addSpaces(c)+c.name) for c in colors">
    <option value="">&nbsp;default</option>
</select>

这是有效的,因为我们连接了& nbsp;的unicode字符. (例如&#160;)在我们的字符串而不是实体中,因此element.text()函数没有任何东西可以逃脱.

相关文章

AngularJS 是一个JavaScript 框架。它可通过 注:建议把脚本放在 元素的底部。这会提高网页加载速度,因...
angluarjs中页面初始化的时候会出现语法{{}}在页面中问题,也即是页面闪烁问题。出现这个的原因是:由于...
AngularJS 通过被称为指令的新属性来扩展 HTML。AngularJS 指令AngularJS 指令是扩展的 HTML 属性,带有...
AngularJS 使用表达式把数据绑定到 HTML。AngularJS 表达式AngularJS 表达式写在双大括号内:{{ expres...
ng-repeat 指令可以完美的显示表格。在表格中显示数据 {{ x.Name }} {{ x.Country }} 使用 CSS 样式为了...
$http是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。读取 JSON 文件下是存储在web服务器上...