如何将option
(select
)设置为selected
以匹配当前页面的语言?有没有办法内联它并简化它:
(value="en" #{Locale}==='en' ? ',selected="selected"': '')
我在这个网站上尝试了一些答案,但它们似乎没有用。谢谢。
这是观点:
if(#{Locale} ==='en')
option(value="en", selected="selected") #{English}
option(value="bg") #{Bulgarian}
else if(#{Locale} === 'bg')
option(value="en") #{English}
option(value="bg",selected="selected") #{Bulgarian}
答案 0 :(得分:6)
改编自this answer,您可以创建一个为您处理逻辑的混合:
mixin lang-option(code, name)
if (Locale === code)
option(value=code, selected="selected")= name
else
option(value=code)= name
+lang-option('en', English)
+lang-option('bg', Bulgarian)
答案 1 :(得分:0)
如果您还需要参数化“禁用”属性,此解决方案也可以使用。 Jade不会输出评估为false的属性。
//Selects the option when option.value == selectValue mixin selectOption(option, selectValue) option(value=option.value, disabled=option.disabled, selected=(option.value==selectValue))= option.label