2016-06-23 135 views
0

我是Jade的新手,我获得了在网页中创建选择选项的任务。一切似乎都很好,直到我得到一个空的选项元素,这是在下拉列表为空并且页面被刷新时创建的。我想以某种方式删除这个空白的选项元素。我在这里经历了大多数帖子,但似乎没有得到任何帮助。以下是我的Jade逻辑。if/else语句删除Jade模板中的选择选项

玉:

#remarksField 
    h1#remarksHeader Remarks 
    select#shortDesc 
     option(value= "")= "---" 
     each index in data 
     if (index) 
      option(value= index.id)= index.short_desc 
     // else 

不知道如何发布一个小提琴,因为它是一个大的代码的一部分,但我希望有人得到帮助我在这里。

How it looks when trying to select an option

回答

1

第一个option标记之后的额外缩进会导致以下所有选项位于第一个标记内。删除多余的缩进,它应该所有的工作:

#remarksField 
h1#remarksHeader Remarks 
select#shortDesc 
    option(value= "")= "---" 
    each index in data 
    if (index) 
    option(value= index.id)= index.short_desc 
    // else 
+0

我试过了,但没有工作。我认为没有值的空对象存储在将if语句设置为true的索引中,从而创建空白选项。现在我需要做的是证明索引是否为空或者没有错误,如果是,那么不应该没有选项元素。这就是变得乏味,因为我正在通过Jade执行此操作。 – Pappy

+1

而不是检查'index'是否存在,请尝试检查'index.id'是否存在。没有更多的信息,我可以做的不多。请标记答案正确以关闭问题 – jhhayashi

+0

它通过证明index.id是否存在@jhhayashi – Pappy

0

你的if语句删除括号,围绕 “指数”。

所以它应该是这样的:

if index

你可以在这里找到更多关于if语句 - http://jade-lang.com/reference/conditionals/

+0

根据该文件,“它仍然是常规的JavaScript”,让周围的布尔表达式的括号都很好 – jhhayashi

+0

啊确定,不够公平。 –

0

添加占位符

option(value="1" placeholder="Select") 

这会避免从得到空白刷新。