我正在尝试在 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'}) %>
但还是什么都没有。还有其他想法吗?
最佳答案
新版本中有一个新的 selectTag。它的工作原理类似于您提到的 EJS 示例,因此您可以传递对象数组。它还允许您指定 selectedOption。您仍然可以使用 contentTag("select"...)
并且它适用于对象数组,但是,使用 contentTag 您无法选择选项。
另一种已经存在的方法是使用 contentTag 并向其传递一个字符串而不是像这样的数组
contentTag('select', "<option value=\"1\" selected>Text 1</option>");
请查看 geddyjs.org/documentation 上的文档并查找 selectTag
注意:文档会在夜间更新,因此当您去那里时它可能不存在,我现在正在复制它。
选择标签
`selectTagString(optionsArray, selectedOption, htmlOptions)
使用给定的 optionsArray
创建 HTML 选择标记来创建 HTML 选项元素。
optionsArray
可以是字符串、数字的数组或具有值和文本属性的对象,分别用于值属性和选项元素内容。
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>
关于javascript - 为选项添加一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15316058/