2013-03-09 3 views
0

Я пытаюсь создать элемент select, используя 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']} %> 

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

UPDATE:

Я нашел 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'}) %> 

, но до сих пор ничего. Любые другие идеи?

+0

не ответ, но я помню [старый вопрос] (https://github.com/mde/geddy/issues/227) я должен был исправить. Взгляни. Также, похоже, это не поддерживается, поэтому я добавлю еще одну проблему в geddy (https://github.com/mde/geddy/issues/325). Я постараюсь посмотреть позже сегодня или завтра. –

+0

У меня был быстрый взгляд и, похоже, легкое решение, мне просто нужно проверить его позже. –

+0

Вопрос был закрыт, но пока он не на NPM. Я дам вам знать, как только он будет обновлен. –

ответ

2

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

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

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

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

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

selectTag

`selectTagString (optionsArray, selectedOption, htmlOptions)

Создает HTML выберите тег, используя данный optionsArray для создания 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> 
Смежные вопросы