Вот наивный подход с jQuery. Учитывая этот HTML:
<div>
Speaker1: <input class="speaker" type="text" name="speaker1" /><br/>
Speaker2: <input class="speaker" type="text" name="speaker2" /><br/>
Speaker3: <input class="speaker" type="text" name="speaker3" /><br/>
<select class="speaker-list"></select>
</div>
и этот код jQuery:
$(function() {
$('input.speaker').blur(function() {
var values = $('input.speaker').filter(function(){ // discard fields with no value
return this.value != '';
}).map(function() {
return $(this).val(); // return the value
}).get(); // get the values
var $list = $('.speaker-list').empty();
for(var i in values) {
$('<option />').text(values[i]).appendTo($list); // build and add options
}
});
});
обновляет список доступных ораторов каждый раз, когда одно поле ввода текста теряет фокус.
Рабочий пример вы найдете здесь: http://jsbin.com/ariti4/2
Это должно дать вам хорошее начало.
Ссылка: .filter()
, .map()
,. get()
, .html()