问题
如何将占位符文本添加到由 Angular ng-options
创建的空白选项中.我希望下拉菜单中的空白选项显示“请选择尺寸”
警告: * 注意:这是一个额外的奇怪的因为我有大小集合被 split(',') 因为它不是一个数组*
Live Code Fiddle
HTML:
<form ng-app="app" ng-controller="Ctrl">
<div class="color-pick" ng-repeat="(key, val) in productData.colors_and_sizes.data">
<input type="radio" name="colors" ng-model="$parent.myColor" ng-value="key" />
<img ng-click="$parent.myColor = key" ng-src="{{val.swatch_image}}" alt="">{{key}}
<div class="size-pick" ng-show="$parent.myColor==key">
<select ng-model="$parent.mySize" ng-options="size for size in val.sizes.split(',')"></select>
</div>
</div>
myColor: {{myColor}}<br/>
mySize: {{mySize}}
</form>
JS:
var app = angular.module("app", []);
app.controller('Ctrl', function ($scope, $filter, $http) {
$scope.productData = {
"colors_and_sizes": {
"data": {
"Black": {
"swatch_image": 'http://lorempixel.com/50/50',
"sizes": "X Small, Small, Medium, Large, Xlarge, XX Large"
},
"Blue": {
"swatch_image": 'http://lorempixel.com/50/50',
"sizes": "X Small, Small, Medium, Large, Xlarge, XX Large"
}
}
}
};
});
最佳答案
请参阅此处http://jsfiddle.net/jg42xsop/ 有些人说我们应该使用 ng-init 而不是使用 $parent
<form ng-app="app" ng-controller="Ctrl">
<div class="color-pick" ng-repeat="(key, val) in productData.colors_and_sizes.data" ng-init="item = this">
<input type="radio" name="colors" ng-model="item.myColor" ng-value="key" />
<img ng-click="item.myColor = key" ng-src="{{val.swatch_image}}" alt="">
<p>{{key}} </p>
<div class="size-pick" ng-show="item.myColor==key">
<select ng-model="item.mySize" ng-options="size for size in val.sizes.split(',')">
<option value="">Please choose a size</option>
</select>
</div>
<p> myColor: {{myColor}}</p>
<p> mySize: {{mySize}} </p>
<hr/>
</div>
</form>
关于javascript - 为在 Angular 下拉列表中创建的默认空白选项设置占位符文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25252881/