javascript - 将多项选择作为与选择框分隔的逗号分隔到文本输入中

标签 javascript html textinput multiple-select

我不知道js。我需要将多项选择作为与选择框分隔的逗号分隔到文本输入中。

使用pure js,我发现只有这个问题与SO相关。 Multiple selections into input box

然后我尝试了那个问题中的js代码。 (问题 js 结合接受的答案)

但是我无法实现。

例如,我需要在选择这 2 个并提交后将 Australia,England 打印到文本输入中。

fiddle 链接是:

http://jsfiddle.net/0k2m7gLo/

FIDDLE 中的代码

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 +', ';   
}

最佳答案

你可以这样做:

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

关于javascript - 将多项选择作为与选择框分隔的逗号分隔到文本输入中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28069061/

相关文章:

javascript - JS new Image() 没有得到 css 类

javascript - 如何在输入中绑定(bind)两个键盘键,如 Ctrl +L

wpf - 如何防止输入控件从 TextCompositionManager 窃取空格字符?

Javascript Electron Menu() 不是构造函数

javascript - Angular 指令限制的粒度更好

javascript - 加载页面时如何从按钮执行功能

css - HTML5 在带有图像的响应式站点方面存在缺陷

flutter - 如何在 Flutter 的消息中实现用户提及?

javascript - 当函数位于 HTML 内的脚本内时,如何使用 TamperMonkey 覆盖变量值

javascript - 如何将方括号对象键从 URL 位置转换为 Javascript 中的嵌套对象?