2014-01-14 3 views
0

Попытка заполнить выпадающий список из списка данных из моего js-файла. Я нашел несколько примеров, но не совсем то, что я пытаюсь сделать. Я бы хотел, чтобы он показывал «DataText» в самом раскрытии.Элемент populating select с внешним файлом javascript

<select id="select" </select> 

сценарий

<script type="text/javascript" src="js/data/datafile.js"></script> 

Может не быть сделано так просто, как это?

$(document).ready(function() 
{ 
     $("#select").append(Mydata);​ 
}); 

формат файла

var Mydata=[{"ID":"00","DataText":"Text1"}, {"ID":"01","DataText":"Text2"}, {"ID":"02","DataText":"Test3"}] 
+1

Нет, вы должны перебирать массив, создать опционные элементы, а затем добавить их. – undefined

ответ

1

Я хотел бы предложить:

$('#select').html(function(){ 
    return $.map(Mydata, function(v) { 
     return '<option id='+ v.ID +'>'+ v.DataText +'</option>'; 
    }).join(''); 
}); 

http://jsfiddle.net/Y8eCy/

0

Конечно, это может быть сделано, но вы должны перебрать данные и добавить то, что нужно.

$(document).ready(function() { 
    for (var i = 0, count= Mydata.length; i < count; i++) { 
     $('<option>').val(Mydata[i].ID).text(Mydata[i].DataText).appendTo("#select"); 
    } 
}); 

Это быстрое решение, поэтому добавьте проверку ошибок. Кроме того, на всякий случай это не плохое вставное задание, предоставленный HTML недопустим. Открытия выберите тег нужен >

Demo

+0

Я получаю Uncaught SyntaxError: Неожиданный токен ILLEGAL на строке $ ('

+0

Я увидел нечто подобное в jsFiddle и исправил его, удалив последний символ, который оказался красной точкой. – Mathachew

0

Вы должны цикла данных, а затем вставьте его в ваш выбор, в данном случае, мне нужно, чтобы разобрать данные.

var Mydata='[{"ID":"00","DataText":"Text1"}, {"ID":"01","DataText":"Text2"}, {"ID":"02","DataText":"Test3"}]'; 

var data = $.parseJSON(Mydata); 

    $.each(data, function(k,v){ 
    $('#test').append('<option value="'+v.ID+'">'+v.DataText+'</option>'); 
    }); 

Рабочий пример: jsfiddle

+0

Возможно ли это читать из внешнего файла? – user3191137

+0

Да, попробуйте ... –

+0

получить неожиданный токен 'o' в строке 1 файла html. – user3191137

Смежные вопросы