получить множественный выбор как запятую, отделенную от поля выбора, в текстовый ввод

Я не знаю джс. Мне нужно получить множественный выбор как запятую, отделенную от поля выбора, в текстовый ввод.

с чистым js я нашел только этот вопрос, связанный с SO. Множественный выбор в поле ввода

И я попробовал код js в этом вопросе. (комбинация вопроса js с принятым ответом)

Однако я не мог добиться.

мне нужно, например, напечатать Австралия, Англия в текстовый ввод после выбора этих двух и отправки.

Ссылка на скрипку:

http://jsfiddle.net/0k2m7gLo/

КОД В СКРИПКЕ

HTML

<form>
    <select id="countries" multiple>
      <option value="val0">Australia</option>
      <option value="val1">England</option>
      <option value="val2">France</option>
    </select>
    <input type="button" value="Show Index" onclick="showSelected();" />
</form>
<p>selected countries by comma seperated</p>
<form><input type="text" id="txtText" /></form>

НЕУДАЧНЫЙ JS

function showSelected()
{
    var selObj = document.getElementById('countries');
  var txtTextObj = document.getElementById('txtText');

  var selIndex = selObj.selectedIndex;
 txtTextObj.value += selObj.options[selIndex].text +', ';   
}

person Andre Chenier    schedule 21.01.2015    source источник
comment
Вы можете вызвать код JS?   -  person JulyOrdinary    schedule 21.01.2015


Ответы (1)


Вы можете сделать что-то вроде этого:

var selObj = document.getElementById('countries'),
    txtTextObj = document.getElementById('txtText'),
    selected = [];

for(var i = 0, l = selObj.options.length; i < l; i++){
    //Check if the option is selected
    if(selObj.options[i].selected){
        selected.push(selObj.options[i].textContent);
    }
} 
txtTextObj.value = selected.join(', ');

jsFiddle

person A1rPun    schedule 21.01.2015