2016-10-11 1 views
0

Когда я выбираю элемент из идентификатора dropdownmenu, как для его просмотра в поле ввода, если выбран другой элемент, я хочу добавить это в поле ввода, разделенное запятой.Применить текст из выбранного элемента dropdownmenu в поле ввода (html, javascript)

В настоящее время это HTML:

<div> 
    <input type="text" id="box" placeholder="Using..." style="width: 400px"> 
    <select style="width: 180px" id="drop"> 
     <option value="" disabled selected>Select</option> 
     {% for stuff in stuffs%} 
     <option value="{{stuff}}" onclick="ApplyField(drop,box)">{{stuff}}</option> 
     {% endfor %}     
    </select> 
</div> 

и JavaScript:

<script> 
    function ApplyField(drop_id,box_id) 
    { 
    var e = document.getElementById(field_id); 
    var selectedItem = e.options[e.selectedIndex].text; 
    if (document.getElementById(box_id).text == "") 
     document.getElementById(box_id).text = selectedItem; 
    else 
     document.getElementById(box_id).text = document.getElementById(box_id).text + "," + selectedItem; 
    }  
</script> 

Но как-то мой сценарий обыкновение установить элемент входной коробки к SelectedItem Altough код кажется мне логичным. Это мой первый раз, когда я писал javascript, поэтому, вероятно, я пропустил что-то тривиальное. Любая помощь может быть описана.

+0

Вы должны использовать '.value' выбранного параметра, а не' .text'. – Moo

+0

@Moo спасибо за подсказку, но я до сих пор ничего не получаю:/ – Bonbin

ответ

0

Я считаю, что ваши drop_id и box_id не являются правильным способом выбора элемента в JavaScript. Также не совсем уверен, что происходит с шаблоном {{stuff}}, если честно