Angularjs 将空间添加到<;选择>;使用ng选项
如何使用角度ng选项将前导空格添加到Angularjs 将空间添加到<;选择>;使用ng选项,angularjs,Angularjs,如何使用角度ng选项将前导空格添加到选项中 <div ng-controller="MyCntrl"> Static values (works) <select> <option value="black">black</option> <option value="white"> white</option> <option valu
选项中
<div ng-controller="MyCntrl">
Static values (works)
<select>
<option value="black">black</option>
<option value="white"> white</option>
<option value="red"> red</option>
<option value="blue"> blue</option>
<option value="yellow"> 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=""> default</option>
</select>
</div>
您可以设置选项文本的格式:
<select ng-model="color" ng-options="(' '+c.name) for c in colors">
<option value=""> default</option>
</select>
在html中,它将是:
<select ng-model="color" ng-options="(addSpaces(c)+c.name) for c in colors">
<option value=""> default</option>
</select>
违约
这是因为我们在字符串中连接了
(例如 ;
)的unicode字符,而不是实体,因此元素.text()
函数没有任何转义 谢谢,这可能很方便,但我如何添加不同数量的空间?例如,白色前1个空格,红色前2个空格,蓝色前3个空格。。。我想这必须在JS中完成,但无论我尝试什么,都会返回选项中的可见内容。String.fromCharCode(160)
-这就是我一直缺少的内容。谢谢!您也可以将160个字符放入$scope.colorsFantastic中的名称字符串中,如果逻辑已经设置了一个this帮助我将其放入select,cheers中。
$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;
};
<select ng-model="color" ng-options="(addSpaces(c)+c.name) for c in colors">
<option value=""> default</option>
</select>