Ваша проблема проста:
- Разделить строку, используя || в качестве разделителя.
- Зацикливание на разделенной строке.
- Создать новый
option
элемент
- Установить его значение и текст для текущего элемента
- Добавить элемент в содержащий
select
элемент
Вот простая реализация (без использования jQuery). Я использую Array.prototype.forEach
и element.textContent
(первый - ES5, а второй - не IE), но это должно донести эту мысль (и их не сложно подобрать).
function makeSelect( options, separator ) {
var select = document.createElement( 'select' ),
optionElem;
options.split( separator || '||' ).forEach(function( item ) {
optionElem = document.createElement( 'option' );
optionElem.value =
optionElem.textContent =
item;
select.appendChild( optionElem );
});
return select;
}
var selectElem = makeSelect( 'waterfowl||tvs||guitar||pillow||mouse' );
Затем вы можете манипулировать selectElem
, как если бы вы манипулировали любым другим элементом DOM.