将用户选择添加到阵列

时间:2015-03-29 23:48:57

标签: javascript arrays list selection

我需要将多选列表中的选项添加到数组中,并确保如果用户取消选择其中一个选项,则会从数组中删除它。我已经研究了切片和推送数组方法,但我还是JavaScript的新手。这是我的选择列表:

<select id="topic" multiple>
    <option value="general">General</option>
    <option value="feedback">Feedback</option>
    <option value="question">Question</option>
    <option value="concern">Concern</option>
    <option value="request">Request</option>
</select>

1 个答案:

答案 0 :(得分:1)

这样的事情怎么样?

var values = [];
var select = document.getElementById('topic');
select.addEventListener('change', function() {
  values = [];

  for (var i = 0; i < select.selectedOptions.length; i++) {
    var option = select.selectedOptions[i];
    values.push(option.value);
  };

  console.log(values);
});

例如:http://jsbin.com/xayuge/1/