2016-03-30 2 views
1

Я использую приведенный ниже код, чтобы преобразовать blockquote в опции элемента select. enter image description hereHtml select options appending

Пожалуйста, помогите сделать все правильно. Спасибо.

[ "Да ↵No", "один ↵two ↵three ↵four", "человек 1 ↵person 2"]

var newArr = [];   
for (var i = 0; i < arr.length; i++) { 
      var data = arr[i].split('\r\n'); 
      newArr.push(data);  
     } 

for (var j = 0; j < newArr.length; j++) { 
      $('#metadata-field').append('<select name=""></select>'); 
      if (newArr[j].length) { 
       for (var k = 0; k < newArr[j].length; k++) { 
        $('#metadata-field select').append('<option>' + newArr[j][k] + '</option>'); 
       } 
      } else { 
       alert('No data'); 
      } 
     } 
+0

В чем проблема с вашим кодом, что вы имеете в виду под «правом как каждый вариант»? – Cyril

+0

В приложении вы можете массив. Я хочу сделать select и option каждым индексом массива. –

ответ

2

Попробуйте это: Вы должны разделить элемент массива с помощью , а затем добавьте каждый элемент, используя только один цикл и не вложенный цикл. Смотрите ниже код -

var arr = ["Yes ↵No", "one ↵two ↵three ↵four", "person 1 ↵person 2"] 
 
    
 
for (var i = 0; i < arr.length; i++) { 
 
     var data = arr[i].split(' ↵'); 
 
    //create select box 
 
    var $select = $('<select id="' + i + '"></select>'); 
 
    $('#metadata-field').append($select); 
 
    for(var k=0;k<data.length;k++) 
 
     { 
 
     //append options in select box 
 
     $select.append('<option>' + data[k] + '</option>'); 
 
     } 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="metadata-field"></div>

+0

Я хочу сделать отдельные элементы с каждым индексом массива. –

+1

Вы хотите, да, нет в одном окне выбора и один, два, три, четыре в другом поле выбора и так далее, правильно? –

+0

См. Мой обновленный ответ выше –