Jade选择字段填充数据

时间:2012-04-28 11:11:33

标签: javascript node.js pug

有没有更好的方法来填充基于Jade的选择字段,我目前正在使用此示例。有没有更好的方法来破坏模板代码?

项目值为'天'示例。

    select
      repeation = [ 'no-repeat', 'day', 'week', 'month']
      for item in repeation
        if job.repeat == item
          option(selected="true") #{item}
        else
          option #{item}

当项目是['day','week']的数组时,如何显示多个选项?

//编辑多元素的小型解决方案

      enginges = [ 'google', 'bing', 'yahoo', 'duckduckgo']
      for engine in enginges
        option(selected=job.sources.indexOf(engine) != -1) #{engine}

2 个答案:

答案 0 :(得分:35)

您应该可以执行以下操作:

for item in repeation
  option(selected=job.repeat == item) #{item}

相同的概念应该可以应用于多项目选择下拉列表。

答案 1 :(得分:2)

要回答的几件事情(https://stackoverflow.com/a/10368381/870274):

  1. “each”现在更常用,而不是“for”

  2. 不要忘记行的“ - ”:repeation = ['no-repeat','day', '周','月'],否则您将收到编译错误。所以最后 结果会是 (和你的一样):

    select
      - repeation = [ 'no-repeat', 'day', 'week', 'month']
      each item in repeation
        option(selected=job.repeat == item) #{item}