0

我正在尝试在 Geddy 框架中使用 EJS(嵌入式 javascript)创建一个选择元素。我想做的是有类似的东西(只是一个例子):

<select>
  <option value="int"> Integer </option>
  <option value="float"> Single precision decimal point </option>
</select>

我没有找到任何例子......我知道创建一个选择

<select>
  <option value="X"> X </option>
  <option value="Y"> Y </option>
</select>

我必须写

<%- contentTag('select', ['X', 'Y']} %>

但是如何获得我想要的呢?

更新:

我在 EJS 文档中找到了select_tag,但无法识别...我也尝试过类似的混合

<%- contentTag('select', [{value: NumberTypeEL.NonNegativeInteger, text:'nonnegative integer'}, {value: NumberTypeEL.Integer, text: 'integer'}, {value: NumberTypeEL.Decimal, text: 'decimal'}, {value:NumberTypeEL.Fraction, text:'fraction'}], {class:'span6', name:'numberType'}) %>

但仍然没有。还有其他想法吗?

4

1 回答 1

2

在新版本中有一个新的 selectTag。它的工作方式类似于您提到的 EJS 示例,因此您可以传递对象数组。它还允许您指定一个 selectedOption。您仍然可以使用contentTag("select"...)它,并且它适用于对象数组,但是,您无法使用 contentTag 选择选项。

已经存在的另一种方法是使用 contentTag 并将其传递给字符串而不是数组

contentTag('select', "<option value=\"1\" selected>Text 1</option>");

请查看geddyjs.org/documentation上的文档并查找selectTag

注意:文档会在晚上更新,所以当你去那里时它可能不在那里,我现在正在复制它。

选择标签

`selectTagString(optionsArray, selectedOption, htmlOptions)

使用给定的创建 HTML 选择标签optionsArray来创建 HTML 选项元素。

optionsArray可以是字符串、数字或具有 value 和 text 属性的对象,分别用于 value 属性和 option 元素内容。

例子:
selectTag(['geddy', 'alex', 'neil'])
// => '<select><option value="geddy">geddy</option><option value="alex">alex</option><option value="neil">neil</option></select>'

selectTag(['open', 'close'], todo.status, { class:'span6', name:'status' })
// => '<select class="span6" name="status"><option selected="selected" value="open">open</option><option value="close">close</option></select>'

selectTag([{value: 1, text: "Text 1"}, {value: 2, text: "Text 2"}], 2)
// => <select><option value="1">Text 1</option><option selected="selected" value="2">Text 2</option></select>
于 2013-03-13T00:58:13.763 回答