我对 Ember 很陌生,到目前为止我很喜欢它!但是,我觉得我对一些 HTML 元素失去了一点控制,特别是<select>
菜单和它的<option>
s。
我希望默认 ( selected
)<option>
也被禁用,即具有属性disabled
. 我习惯了这种在选择菜单上设置“占位符”的方法,但我也愿意接受其他建议。
例如,如果我有一个性别选择菜单,我希望得到以下代码:
<select>
<option selected disabled>Please select gender</select>
<option value="m">Male</select>
<option value="f">Female</select>
</select>
我有以下 JavaScript 和 Handlebars 代码:
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
.
提前致谢!