Добавить значение в опцию

Я пытаюсь создать элемент выбора, используя EJS (встроенный JavaScript) в рамках Geddy. То, что я хочу сделать, это что-то вроде (просто пример):

<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']} %>

Но как получить то, что я хочу?

ОБНОВИТЬ:

Я нашел select_tag в документации EJS, но он не распознается... Я также пробовал гибрид, как

<%- 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'}) %>

но все равно ничего. Есть другие идеи?

1 ответ

Решение

В новой версии появился новый selectTag. Он работает так же, как пример EJS, на который вы ссылались, поэтому вы можете передавать массив объектов. Это также позволяет вам указать selectedOption. Вы все еще можете использовать contentTag("select"...) и он работает с массивом объектов, однако с ContentTag вы не можете выбрать опцию.

Другой способ сделать это, который уже был, это использовать contentTag и передать ему строку вместо массива, например

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

Пожалуйста, ознакомьтесь с документацией на http://geddyjs.org/documentation и найдите selectTag

ПРИМЕЧАНИЕ: документация обновляется в течение ночи, поэтому ее может и не быть, когда вы туда заходите, сейчас я ее копирую.

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>
Другие вопросы по тегам