ng-options を入力している選択リストがあります。リストには実際の「プレースホルダー」属性がないため、「プレースホルダー」のように機能する「デフォルト」の選択項目もあります。
ただし、私が達成したかったのは、選択リストの残りのすべてのオプションよりも最初の (プレースホルダー値) だけを明るいフォントの色にすることでした。もっている。
私はこれを機能させましたが、ディレクティブを書きませんでした。このコードをディレクティブに移植して、「Angular Way」に準拠し、サイト全体で再利用できるようにしたいと考えています。
どんな助けでも本当に感謝します! コードについては以下を参照してください。
HTML:
<select
ng-model="priority"
id="priority" name="priority"
class="span7"
required
ng-options="p.Description for p in priorities"
ng-class="appliedClass()">
<option value="" selected>select priority</option>
</select>
CSS:
.select-placeholder {
color: #999;
}
JS:
/*
Watches the 'priority' select list for changes
*/
$scope.$watch('priority', function(value) {
// value of the <option> element from the select list
var selectedValue = value;
// applies the 'select-placeholder' css class to ng-class
// if the selected item is the default (placeholder) item.
$scope.appliedClass = function() {
if (selectedValue === undefined) {
return 'select-placeholder';
}
};
});