私はEmberにかなり慣れていません、そして私は今のところそれを愛しています!<select>
ただし、HTML要素の一部、特にメニューを少し制御できなくなったように感じます<option>
。
selected
デフォルト( )<option>
も無効にしたい、つまり属性を持っているようにしたいdisabled
。私は、選択したメニューに「プレースホルダー」を設定するためのこのアプローチに慣れていますが、他の提案もあります。
たとえば、性別の選択メニューがある場合、最終的に次のコードを作成します。
<select>
<option selected disabled>Please select gender</select>
<option value="m">Male</select>
<option value="f">Female</select>
</select>
私は次のJavaScriptとハンドルバーのコードを持っています:
JavaScript
genders = [
Ember.Object.create({value: 'm', label: 'Male'}),
Ember.Object.create({value: 'f', label: 'Female'}),
];
App.GenderSelect = Ember.Select.extend({
contentBinding: "genders",
optionValuePath: "content.value",
optionLabelPath: "content.label"
});
ハンドルバー
{{view App.GenderSelect prompt="Please select gender"}}
生成されたHTML
これにより、ほぼ必要なコードが得られます。ただし、最初の属性<option>
が欠落しているため、この質問があります。disabled
<select>
<option value>Please select gender</select>
<option value="m">Male</select>
<option value="f">Female</select>
</select>
また、selected
属性は設定されませんが、メニューの最初のオプションであるため、厳密には必要ありません。
この質問に対する直接の回答と、以外のアプローチを使用するための有効な提案の両方の回答に感謝しますdisabled
。
前もって感謝します!